1package(default_visibility = ["//:__subpackages__"]) 2 3licenses(["notice"]) 4 5cc_library( 6 name = "streaming_aead_wrapper", 7 srcs = ["streaming_aead_wrapper.cc"], 8 hdrs = ["streaming_aead_wrapper.h"], 9 include_prefix = "tink/streamingaead", 10 deps = [ 11 ":decrypting_input_stream", 12 ":decrypting_random_access_stream", 13 "//:crypto_format", 14 "//:input_stream", 15 "//:output_stream", 16 "//:primitive_set", 17 "//:primitive_wrapper", 18 "//:random_access_stream", 19 "//:streaming_aead", 20 "//proto:tink_cc_proto", 21 "//util:status", 22 "//util:statusor", 23 "@com_google_absl//absl/status", 24 "@com_google_absl//absl/strings", 25 ], 26) 27 28cc_library( 29 name = "streaming_aead_config", 30 srcs = ["streaming_aead_config.cc"], 31 hdrs = ["streaming_aead_config.h"], 32 include_prefix = "tink/streamingaead", 33 visibility = ["//visibility:public"], 34 deps = [ 35 ":aes_ctr_hmac_streaming_key_manager", 36 ":aes_gcm_hkdf_streaming_key_manager", 37 ":streaming_aead_wrapper", 38 "//:registry", 39 "//config:config_util", 40 "//config:tink_fips", 41 "//proto:config_cc_proto", 42 "//util:status", 43 "@com_google_absl//absl/base:core_headers", 44 "@com_google_absl//absl/memory", 45 ], 46) 47 48cc_library( 49 name = "streaming_aead_key_templates", 50 srcs = ["streaming_aead_key_templates.cc"], 51 hdrs = ["streaming_aead_key_templates.h"], 52 include_prefix = "tink/streamingaead", 53 visibility = ["//visibility:public"], 54 deps = [ 55 "//proto:aes_ctr_hmac_streaming_cc_proto", 56 "//proto:aes_gcm_hkdf_streaming_cc_proto", 57 "//proto:common_cc_proto", 58 "//proto:hmac_cc_proto", 59 "//proto:tink_cc_proto", 60 ], 61) 62 63cc_library( 64 name = "aes_gcm_hkdf_streaming_key_manager", 65 srcs = ["aes_gcm_hkdf_streaming_key_manager.cc"], 66 hdrs = ["aes_gcm_hkdf_streaming_key_manager.h"], 67 include_prefix = "tink/streamingaead", 68 deps = [ 69 "//:core/key_type_manager", 70 "//:key_manager", 71 "//:streaming_aead", 72 "//proto:aes_gcm_hkdf_streaming_cc_proto", 73 "//proto:tink_cc_proto", 74 "//subtle:aes_gcm_hkdf_stream_segment_encrypter", 75 "//subtle:aes_gcm_hkdf_streaming", 76 "//subtle:random", 77 "//util:constants", 78 "//util:enums", 79 "//util:errors", 80 "//util:input_stream_util", 81 "//util:protobuf_helper", 82 "//util:secret_data", 83 "//util:status", 84 "//util:statusor", 85 "//util:validation", 86 "@com_google_absl//absl/memory", 87 "@com_google_absl//absl/status", 88 "@com_google_absl//absl/strings", 89 ], 90) 91 92cc_library( 93 name = "aes_ctr_hmac_streaming_key_manager", 94 srcs = ["aes_ctr_hmac_streaming_key_manager.cc"], 95 hdrs = ["aes_ctr_hmac_streaming_key_manager.h"], 96 include_prefix = "tink/streamingaead", 97 deps = [ 98 "//:core/key_type_manager", 99 "//:streaming_aead", 100 "//proto:aes_ctr_hmac_streaming_cc_proto", 101 "//proto:hmac_cc_proto", 102 "//proto:tink_cc_proto", 103 "//subtle:aes_ctr_hmac_streaming", 104 "//subtle:random", 105 "//util:constants", 106 "//util:enums", 107 "//util:errors", 108 "//util:input_stream_util", 109 "//util:protobuf_helper", 110 "//util:secret_data", 111 "//util:status", 112 "//util:statusor", 113 "//util:validation", 114 "@com_google_absl//absl/memory", 115 "@com_google_absl//absl/status", 116 "@com_google_absl//absl/strings", 117 ], 118) 119 120cc_library( 121 name = "buffered_input_stream", 122 srcs = ["buffered_input_stream.cc"], 123 hdrs = ["buffered_input_stream.h"], 124 include_prefix = "tink/streamingaead", 125 deps = [ 126 "//:input_stream", 127 "//util:errors", 128 "//util:status", 129 "//util:statusor", 130 "@com_google_absl//absl/memory", 131 "@com_google_absl//absl/status", 132 ], 133) 134 135cc_library( 136 name = "shared_input_stream", 137 srcs = ["shared_input_stream.h"], 138 hdrs = ["shared_input_stream.h"], 139 include_prefix = "tink/streamingaead", 140 deps = [ 141 "//:input_stream", 142 "//util:statusor", 143 ], 144) 145 146cc_library( 147 name = "shared_random_access_stream", 148 srcs = ["shared_random_access_stream.h"], 149 hdrs = ["shared_random_access_stream.h"], 150 include_prefix = "tink/streamingaead", 151 deps = [ 152 "//:random_access_stream", 153 "//util:buffer", 154 "//util:status", 155 "//util:statusor", 156 ], 157) 158 159cc_library( 160 name = "decrypting_input_stream", 161 srcs = ["decrypting_input_stream.cc"], 162 hdrs = ["decrypting_input_stream.h"], 163 include_prefix = "tink/streamingaead", 164 deps = [ 165 ":buffered_input_stream", 166 ":shared_input_stream", 167 "//:input_stream", 168 "//:primitive_set", 169 "//:streaming_aead", 170 "//util:errors", 171 "//util:status", 172 "//util:statusor", 173 "@com_google_absl//absl/memory", 174 "@com_google_absl//absl/status", 175 ], 176) 177 178cc_library( 179 name = "decrypting_random_access_stream", 180 srcs = ["decrypting_random_access_stream.cc"], 181 hdrs = ["decrypting_random_access_stream.h"], 182 include_prefix = "tink/streamingaead", 183 deps = [ 184 ":shared_random_access_stream", 185 "//:primitive_set", 186 "//:random_access_stream", 187 "//:streaming_aead", 188 "//util:buffer", 189 "//util:errors", 190 "//util:status", 191 "//util:statusor", 192 "@com_google_absl//absl/memory", 193 "@com_google_absl//absl/status", 194 "@com_google_absl//absl/synchronization", 195 ], 196) 197 198# tests 199 200cc_test( 201 name = "streaming_aead_wrapper_test", 202 size = "small", 203 srcs = ["streaming_aead_wrapper_test.cc"], 204 deps = [ 205 ":aes_gcm_hkdf_streaming_key_manager", 206 ":streaming_aead_config", 207 ":streaming_aead_wrapper", 208 "//:input_stream", 209 "//:insecure_secret_key_access", 210 "//:output_stream", 211 "//:primitive_set", 212 "//:proto_keyset_format", 213 "//:random_access_stream", 214 "//:streaming_aead", 215 "//internal:test_random_access_stream", 216 "//proto:aes_gcm_hkdf_streaming_cc_proto", 217 "//proto:common_cc_proto", 218 "//proto:tink_cc_proto", 219 "//subtle:random", 220 "//subtle:streaming_aead_test_util", 221 "//subtle:test_util", 222 "//util:buffer", 223 "//util:istream_input_stream", 224 "//util:ostream_output_stream", 225 "//util:status", 226 "//util:test_matchers", 227 "//util:test_util", 228 "@com_google_absl//absl/memory", 229 "@com_google_absl//absl/status", 230 "@com_google_absl//absl/strings", 231 "@com_google_googletest//:gtest_main", 232 ], 233) 234 235cc_test( 236 name = "aes_gcm_hkdf_streaming_key_manager_test", 237 size = "small", 238 srcs = ["aes_gcm_hkdf_streaming_key_manager_test.cc"], 239 deps = [ 240 ":aes_gcm_hkdf_streaming_key_manager", 241 "//:streaming_aead", 242 "//proto:aes_eax_cc_proto", 243 "//proto:aes_gcm_hkdf_streaming_cc_proto", 244 "//proto:common_cc_proto", 245 "//proto:tink_cc_proto", 246 "//subtle:aes_gcm_hkdf_streaming", 247 "//subtle:common_enums", 248 "//subtle:random", 249 "//subtle:streaming_aead_test_util", 250 "//subtle:test_util", 251 "//util:istream_input_stream", 252 "//util:ostream_output_stream", 253 "//util:secret_data", 254 "//util:status", 255 "//util:statusor", 256 "//util:test_matchers", 257 "@com_google_absl//absl/status", 258 "@com_google_absl//absl/strings", 259 "@com_google_googletest//:gtest_main", 260 ], 261) 262 263cc_test( 264 name = "aes_ctr_hmac_streaming_key_manager_test", 265 size = "small", 266 srcs = ["aes_ctr_hmac_streaming_key_manager_test.cc"], 267 deps = [ 268 ":aes_ctr_hmac_streaming_key_manager", 269 "//:streaming_aead", 270 "//proto:aes_ctr_hmac_streaming_cc_proto", 271 "//proto:aes_eax_cc_proto", 272 "//proto:common_cc_proto", 273 "//proto:tink_cc_proto", 274 "//subtle:aes_ctr_hmac_streaming", 275 "//subtle:common_enums", 276 "//subtle:random", 277 "//subtle:streaming_aead_test_util", 278 "//subtle:test_util", 279 "//util:istream_input_stream", 280 "//util:ostream_output_stream", 281 "//util:secret_data", 282 "//util:status", 283 "//util:statusor", 284 "//util:test_matchers", 285 "@com_google_absl//absl/status", 286 "@com_google_absl//absl/strings", 287 "@com_google_googletest//:gtest_main", 288 ], 289) 290 291cc_test( 292 name = "streaming_aead_key_templates_test", 293 size = "small", 294 srcs = ["streaming_aead_key_templates_test.cc"], 295 deps = [ 296 ":aes_ctr_hmac_streaming_key_manager", 297 ":aes_gcm_hkdf_streaming_key_manager", 298 ":streaming_aead_key_templates", 299 "//proto:aes_ctr_hmac_streaming_cc_proto", 300 "//proto:aes_gcm_hkdf_streaming_cc_proto", 301 "//proto:common_cc_proto", 302 "//proto:tink_cc_proto", 303 "//util:test_matchers", 304 "@com_google_googletest//:gtest_main", 305 ], 306) 307 308cc_test( 309 name = "streaming_aead_config_test", 310 size = "small", 311 srcs = ["streaming_aead_config_test.cc"], 312 tags = ["fips"], 313 deps = [ 314 ":aes_ctr_hmac_streaming_key_manager", 315 ":aes_gcm_hkdf_streaming_key_manager", 316 ":streaming_aead_config", 317 ":streaming_aead_key_templates", 318 "//:keyset_handle", 319 "//:registry", 320 "//:streaming_aead", 321 "//config:tink_fips", 322 "//util:status", 323 "//util:test_matchers", 324 "//util:test_util", 325 "@com_google_absl//absl/memory", 326 "@com_google_absl//absl/status", 327 "@com_google_googletest//:gtest_main", 328 ], 329) 330 331cc_test( 332 name = "buffered_input_stream_test", 333 size = "small", 334 srcs = ["buffered_input_stream_test.cc"], 335 deps = [ 336 ":buffered_input_stream", 337 "//:input_stream", 338 "//subtle:random", 339 "//subtle:test_util", 340 "//util:istream_input_stream", 341 "//util:status", 342 "//util:test_matchers", 343 "@com_google_absl//absl/memory", 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 = "decrypting_input_stream_test", 352 size = "small", 353 srcs = ["decrypting_input_stream_test.cc"], 354 deps = [ 355 ":decrypting_input_stream", 356 "//:input_stream", 357 "//:output_stream", 358 "//:primitive_set", 359 "//:streaming_aead", 360 "//proto:tink_cc_proto", 361 "//subtle:random", 362 "//subtle:test_util", 363 "//util:istream_input_stream", 364 "//util:ostream_output_stream", 365 "//util:status", 366 "//util:test_matchers", 367 "//util:test_util", 368 "@com_google_absl//absl/memory", 369 "@com_google_absl//absl/status", 370 "@com_google_absl//absl/strings", 371 "@com_google_googletest//:gtest_main", 372 ], 373) 374 375cc_test( 376 name = "decrypting_random_access_stream_test", 377 size = "small", 378 srcs = ["decrypting_random_access_stream_test.cc"], 379 deps = [ 380 ":decrypting_random_access_stream", 381 "//:output_stream", 382 "//:primitive_set", 383 "//:random_access_stream", 384 "//:streaming_aead", 385 "//internal:test_random_access_stream", 386 "//proto:tink_cc_proto", 387 "//subtle:random", 388 "//subtle:test_util", 389 "//util:ostream_output_stream", 390 "//util:status", 391 "//util:test_matchers", 392 "//util:test_util", 393 "@com_google_absl//absl/memory", 394 "@com_google_absl//absl/status", 395 "@com_google_absl//absl/strings", 396 "@com_google_googletest//:gtest_main", 397 ], 398) 399 400cc_test( 401 name = "shared_input_stream_test", 402 size = "small", 403 srcs = ["shared_input_stream_test.cc"], 404 deps = [ 405 ":buffered_input_stream", 406 ":shared_input_stream", 407 "//:input_stream", 408 "//subtle:random", 409 "//subtle:test_util", 410 "//util:istream_input_stream", 411 "//util:status", 412 "//util:test_matchers", 413 "@com_google_absl//absl/memory", 414 "@com_google_absl//absl/status", 415 "@com_google_absl//absl/strings", 416 "@com_google_googletest//:gtest_main", 417 ], 418) 419 420cc_test( 421 name = "shared_random_access_stream_test", 422 size = "small", 423 srcs = ["shared_random_access_stream_test.cc"], 424 deps = [ 425 ":shared_random_access_stream", 426 "//:random_access_stream", 427 "//internal:test_random_access_stream", 428 "//subtle:random", 429 "@com_google_absl//absl/memory", 430 "@com_google_absl//absl/strings", 431 "@com_google_googletest//:gtest_main", 432 ], 433) 434