1package(default_visibility = ["//:__subpackages__"]) 2 3licenses(["notice"]) 4 5cc_library( 6 name = "hpke_context", 7 srcs = ["hpke_context.cc"], 8 hdrs = ["hpke_context.h"], 9 include_prefix = "tink/hybrid/internal", 10 tags = ["requires_boringcrypto_update"], 11 visibility = ["//visibility:public"], 12 deps = [ 13 ":hpke_context_boringssl", 14 ":hpke_util", 15 "//util:secret_data", 16 "//util:status", 17 "//util:statusor", 18 "@com_google_absl//absl/status", 19 "@com_google_absl//absl/strings", 20 ], 21) 22 23cc_library( 24 name = "hpke_context_boringssl", 25 srcs = ["hpke_context_boringssl.cc"], 26 hdrs = ["hpke_context_boringssl.h"], 27 include_prefix = "tink/hybrid/internal", 28 tags = ["requires_boringcrypto_update"], 29 deps = [ 30 ":hpke_util", 31 ":hpke_util_boringssl", 32 "//internal:ssl_unique_ptr", 33 "//subtle:subtle_util", 34 "//util:secret_data", 35 "//util:statusor", 36 "@boringssl//:crypto", 37 "@com_google_absl//absl/strings", 38 ], 39) 40 41cc_library( 42 name = "hpke_decrypt", 43 srcs = ["hpke_decrypt.cc"], 44 hdrs = ["hpke_decrypt.h"], 45 include_prefix = "tink/hybrid/internal", 46 tags = ["requires_boringcrypto_update"], 47 deps = [ 48 ":hpke_context", 49 ":hpke_util", 50 "//:hybrid_decrypt", 51 "//proto:hpke_cc_proto", 52 "//util:secret_data", 53 "//util:status", 54 "//util:statusor", 55 "@com_google_absl//absl/status", 56 ], 57) 58 59cc_library( 60 name = "hpke_decrypt_boringssl", 61 srcs = ["hpke_decrypt_boringssl.cc"], 62 hdrs = ["hpke_decrypt_boringssl.h"], 63 include_prefix = "tink/hybrid/internal", 64 tags = ["requires_boringcrypto_update"], 65 deps = [ 66 ":hpke_key_boringssl", 67 ":hpke_util_boringssl", 68 "//proto:hpke_cc_proto", 69 "//subtle:subtle_util", 70 "//util:status", 71 "//util:statusor", 72 "@boringssl//:crypto", 73 "@com_google_absl//absl/base:core_headers", 74 "@com_google_absl//absl/status", 75 "@com_google_absl//absl/strings", 76 ], 77) 78 79cc_library( 80 name = "hpke_encrypt", 81 srcs = ["hpke_encrypt.cc"], 82 hdrs = ["hpke_encrypt.h"], 83 include_prefix = "tink/hybrid/internal", 84 tags = ["requires_boringcrypto_update"], 85 deps = [ 86 ":hpke_context", 87 ":hpke_util", 88 "//:hybrid_encrypt", 89 "//proto:hpke_cc_proto", 90 "//util:statusor", 91 "@com_google_absl//absl/status", 92 ], 93) 94 95cc_library( 96 name = "hpke_encrypt_boringssl", 97 srcs = ["hpke_encrypt_boringssl.cc"], 98 hdrs = ["hpke_encrypt_boringssl.h"], 99 include_prefix = "tink/hybrid/internal", 100 tags = ["requires_boringcrypto_update"], 101 deps = [ 102 ":hpke_util_boringssl", 103 "//proto:hpke_cc_proto", 104 "//subtle:subtle_util", 105 "//util:status", 106 "//util:statusor", 107 "@boringssl//:crypto", 108 "@com_google_absl//absl/algorithm:container", 109 "@com_google_absl//absl/base:core_headers", 110 "@com_google_absl//absl/status", 111 "@com_google_absl//absl/strings", 112 ], 113) 114 115cc_library( 116 name = "hpke_key_boringssl", 117 srcs = ["hpke_key_boringssl.cc"], 118 hdrs = ["hpke_key_boringssl.h"], 119 include_prefix = "tink/hybrid/internal", 120 tags = ["requires_boringcrypto_update"], 121 deps = [ 122 ":hpke_util_boringssl", 123 "//proto:hpke_cc_proto", 124 "//util:status", 125 "//util:statusor", 126 "@boringssl//:crypto", 127 "@com_google_absl//absl/base:core_headers", 128 "@com_google_absl//absl/status", 129 ], 130) 131 132cc_library( 133 name = "hpke_key_manager_util", 134 srcs = ["hpke_key_manager_util.cc"], 135 hdrs = ["hpke_key_manager_util.h"], 136 include_prefix = "tink/hybrid/internal", 137 deps = [ 138 "//proto:hpke_cc_proto", 139 "//util:status", 140 "//util:validation", 141 "@com_google_absl//absl/status", 142 ], 143) 144 145cc_library( 146 name = "hpke_private_key_manager", 147 srcs = ["hpke_private_key_manager.cc"], 148 hdrs = ["hpke_private_key_manager.h"], 149 include_prefix = "tink/hybrid/internal", 150 tags = ["requires_boringcrypto_update"], 151 deps = [ 152 ":hpke_decrypt", 153 ":hpke_key_manager_util", 154 "//:core/key_type_manager", 155 "//:core/private_key_type_manager", 156 "//:hybrid_decrypt", 157 "//:key_manager", 158 "//internal:ec_util", 159 "//proto:hpke_cc_proto", 160 "//proto:tink_cc_proto", 161 "//util:constants", 162 "//util:status", 163 "//util:statusor", 164 "//util:validation", 165 "@com_google_absl//absl/status", 166 ], 167) 168 169cc_library( 170 name = "hpke_public_key_manager", 171 srcs = ["hpke_public_key_manager.cc"], 172 hdrs = ["hpke_public_key_manager.h"], 173 include_prefix = "tink/hybrid/internal", 174 tags = ["requires_boringcrypto_update"], 175 deps = [ 176 ":hpke_encrypt", 177 ":hpke_key_manager_util", 178 "//:core/key_type_manager", 179 "//:hybrid_encrypt", 180 "//:key_manager", 181 "//proto:hpke_cc_proto", 182 "//proto:tink_cc_proto", 183 "//util:constants", 184 "//util:errors", 185 "//util:protobuf_helper", 186 "//util:status", 187 "//util:statusor", 188 "@com_google_absl//absl/memory", 189 "@com_google_absl//absl/strings", 190 ], 191) 192 193cc_library( 194 name = "hpke_test_util", 195 testonly = 1, 196 srcs = ["hpke_test_util.cc"], 197 hdrs = ["hpke_test_util.h"], 198 include_prefix = "tink/hybrid/internal", 199 deps = [ 200 ":hpke_util", 201 "//proto:hpke_cc_proto", 202 "//util:status", 203 "//util:statusor", 204 "@com_google_absl//absl/status", 205 "@com_google_absl//absl/strings", 206 ], 207) 208 209cc_library( 210 name = "hpke_util", 211 srcs = ["hpke_util.cc"], 212 hdrs = ["hpke_util.h"], 213 include_prefix = "tink/hybrid/internal", 214 deps = [ 215 "//internal:ec_util", 216 "//proto:hpke_cc_proto", 217 "//subtle:common_enums", 218 "//util:statusor", 219 "@com_google_absl//absl/strings", 220 ], 221) 222 223cc_library( 224 name = "hpke_util_boringssl", 225 srcs = ["hpke_util_boringssl.cc"], 226 hdrs = ["hpke_util_boringssl.h"], 227 include_prefix = "tink/hybrid/internal", 228 tags = ["requires_boringcrypto_update"], 229 deps = [ 230 ":hpke_util", 231 "//proto:hpke_cc_proto", 232 "//util:status", 233 "//util:statusor", 234 "@boringssl//:crypto", 235 "@com_google_absl//absl/status", 236 "@com_google_absl//absl/strings", 237 ], 238) 239 240cc_library( 241 name = "test_hpke_context_boringssl", 242 testonly = 1, 243 srcs = ["test_hpke_context_boringssl.cc"], 244 hdrs = ["test_hpke_context_boringssl.h"], 245 include_prefix = "tink/hybrid/internal", 246 tags = ["requires_boringcrypto_update"], 247 deps = [ 248 ":hpke_context_boringssl", 249 ":hpke_util", 250 ":hpke_util_boringssl", 251 "//internal:ssl_unique_ptr", 252 "//util:statusor", 253 "@boringssl//:crypto", 254 "@com_google_absl//absl/strings", 255 ], 256) 257 258# tests 259 260cc_test( 261 name = "hpke_context_test", 262 size = "small", 263 srcs = ["hpke_context_test.cc"], 264 tags = ["requires_boringcrypto_update"], 265 deps = [ 266 ":hpke_context", 267 ":hpke_test_util", 268 ":hpke_util", 269 "//util:secret_data", 270 "//util:statusor", 271 "//util:test_matchers", 272 "@com_google_googletest//:gtest_main", 273 ], 274) 275 276cc_test( 277 name = "hpke_context_boringssl_test", 278 size = "small", 279 srcs = ["hpke_context_boringssl_test.cc"], 280 tags = ["requires_boringcrypto_update"], 281 deps = [ 282 ":hpke_context_boringssl", 283 ":hpke_test_util", 284 ":hpke_util", 285 ":test_hpke_context_boringssl", 286 "//util:secret_data", 287 "//util:test_matchers", 288 "@boringssl//:crypto", 289 "@com_google_absl//absl/status", 290 "@com_google_googletest//:gtest_main", 291 ], 292) 293 294cc_test( 295 name = "hpke_decrypt_boringssl_test", 296 size = "small", 297 srcs = ["hpke_decrypt_boringssl_test.cc"], 298 tags = ["requires_boringcrypto_update"], 299 deps = [ 300 ":hpke_decrypt_boringssl", 301 ":hpke_test_util", 302 "//proto:hpke_cc_proto", 303 "//util:status", 304 "//util:test_matchers", 305 "//util:test_util", 306 "@boringssl//:crypto", 307 "@com_google_absl//absl/status", 308 "@com_google_absl//absl/strings", 309 "@com_google_googletest//:gtest_main", 310 ], 311) 312 313cc_test( 314 name = "hpke_decrypt_test", 315 size = "small", 316 srcs = ["hpke_decrypt_test.cc"], 317 tags = ["requires_boringcrypto_update"], 318 deps = [ 319 ":hpke_decrypt", 320 ":hpke_encrypt", 321 ":hpke_test_util", 322 "//proto:hpke_cc_proto", 323 "//util:statusor", 324 "//util:test_matchers", 325 "@com_google_absl//absl/status", 326 "@com_google_absl//absl/strings", 327 "@com_google_googletest//:gtest_main", 328 ], 329) 330 331cc_test( 332 name = "hpke_encrypt_boringssl_test", 333 size = "small", 334 srcs = ["hpke_encrypt_boringssl_test.cc"], 335 tags = ["requires_boringcrypto_update"], 336 deps = [ 337 ":hpke_encrypt_boringssl", 338 ":hpke_test_util", 339 "//proto:hpke_cc_proto", 340 "//util:status", 341 "//util:test_matchers", 342 "//util:test_util", 343 "@boringssl//:crypto", 344 "@com_google_absl//absl/status", 345 "@com_google_absl//absl/strings", 346 "@com_google_googletest//:gtest_main", 347 ], 348) 349 350cc_test( 351 name = "hpke_encrypt_test", 352 size = "small", 353 srcs = ["hpke_encrypt_test.cc"], 354 tags = ["requires_boringcrypto_update"], 355 deps = [ 356 ":hpke_encrypt", 357 ":hpke_test_util", 358 ":hpke_util", 359 "//proto:hpke_cc_proto", 360 "//util:test_matchers", 361 "@com_google_absl//absl/status", 362 "@com_google_absl//absl/strings", 363 "@com_google_googletest//:gtest_main", 364 ], 365) 366 367cc_test( 368 name = "hpke_key_boringssl_test", 369 size = "small", 370 srcs = ["hpke_key_boringssl_test.cc"], 371 tags = ["requires_boringcrypto_update"], 372 deps = [ 373 ":hpke_key_boringssl", 374 ":hpke_test_util", 375 "//proto:hpke_cc_proto", 376 "//util:status", 377 "//util:test_matchers", 378 "//util:test_util", 379 "@boringssl//:crypto", 380 "@com_google_absl//absl/status", 381 "@com_google_absl//absl/strings", 382 "@com_google_googletest//:gtest_main", 383 ], 384) 385 386cc_test( 387 name = "hpke_key_manager_util_test", 388 size = "small", 389 srcs = ["hpke_key_manager_util_test.cc"], 390 deps = [ 391 ":hpke_key_manager_util", 392 ":hpke_test_util", 393 "//util:status", 394 "//util:test_matchers", 395 "@com_google_absl//absl/status", 396 "@com_google_googletest//:gtest_main", 397 ], 398) 399 400cc_test( 401 name = "hpke_private_key_manager_test", 402 size = "small", 403 srcs = ["hpke_private_key_manager_test.cc"], 404 tags = ["requires_boringcrypto_update"], 405 deps = [ 406 ":hpke_encrypt", 407 ":hpke_private_key_manager", 408 "//:hybrid_encrypt", 409 "//proto:hpke_cc_proto", 410 "//proto:tink_cc_proto", 411 "//subtle:hybrid_test_util", 412 "//util:status", 413 "//util:statusor", 414 "//util:test_matchers", 415 "//util:test_util", 416 "@com_google_absl//absl/status", 417 "@com_google_googletest//:gtest_main", 418 ], 419) 420 421cc_test( 422 name = "hpke_public_key_manager_test", 423 size = "small", 424 srcs = ["hpke_public_key_manager_test.cc"], 425 tags = ["requires_boringcrypto_update"], 426 deps = [ 427 ":hpke_public_key_manager", 428 ":hpke_test_util", 429 "//proto:hpke_cc_proto", 430 "//util:test_matchers", 431 "//util:test_util", 432 "@com_google_absl//absl/status", 433 "@com_google_googletest//:gtest_main", 434 ], 435) 436 437cc_test( 438 name = "hpke_util_boringssl_test", 439 size = "small", 440 srcs = ["hpke_util_boringssl_test.cc"], 441 tags = ["requires_boringcrypto_update"], 442 deps = [ 443 ":hpke_test_util", 444 ":hpke_util", 445 ":hpke_util_boringssl", 446 "//proto:hpke_cc_proto", 447 "//util:test_matchers", 448 "//util:test_util", 449 "@boringssl//:crypto", 450 "@com_google_googletest//:gtest_main", 451 ], 452) 453 454cc_test( 455 name = "hpke_util_test", 456 size = "small", 457 srcs = ["hpke_util_test.cc"], 458 deps = [ 459 ":hpke_test_util", 460 ":hpke_util", 461 "//proto:hpke_cc_proto", 462 "//util:test_matchers", 463 "@com_google_googletest//:gtest_main", 464 ], 465) 466