1package(default_visibility = ["//:__subpackages__"]) 2 3licenses(["notice"]) 4 5cc_library( 6 name = "aes_siv_key_manager", 7 hdrs = ["aes_siv_key_manager.h"], 8 include_prefix = "tink/daead", 9 deps = [ 10 "//:core/key_type_manager", 11 "//:deterministic_aead", 12 "//proto:aes_siv_cc_proto", 13 "//subtle:aes_siv_boringssl", 14 "//subtle:random", 15 "//util:constants", 16 "//util:errors", 17 "//util:input_stream_util", 18 "//util:protobuf_helper", 19 "//util:secret_data", 20 "//util:status", 21 "//util:statusor", 22 "//util:validation", 23 "@com_google_absl//absl/memory", 24 "@com_google_absl//absl/status", 25 "@com_google_absl//absl/strings", 26 ], 27) 28 29cc_library( 30 name = "deterministic_aead_wrapper", 31 srcs = ["deterministic_aead_wrapper.cc"], 32 hdrs = ["deterministic_aead_wrapper.h"], 33 include_prefix = "tink/daead", 34 deps = [ 35 "//:crypto_format", 36 "//:deterministic_aead", 37 "//:primitive_set", 38 "//:primitive_wrapper", 39 "//internal:monitoring_util", 40 "//internal:registry_impl", 41 "//internal:util", 42 "//monitoring", 43 "//proto:tink_cc_proto", 44 "//util:status", 45 "//util:statusor", 46 "@com_google_absl//absl/status", 47 "@com_google_absl//absl/strings", 48 ], 49) 50 51cc_library( 52 name = "deterministic_aead_config", 53 srcs = ["deterministic_aead_config.cc"], 54 hdrs = ["deterministic_aead_config.h"], 55 include_prefix = "tink/daead", 56 visibility = ["//visibility:public"], 57 deps = [ 58 ":aes_siv_key_manager", 59 ":aes_siv_proto_serialization", 60 ":deterministic_aead_wrapper", 61 "//:registry", 62 "//config:tink_fips", 63 "//proto:config_cc_proto", 64 "//util:status", 65 "@com_google_absl//absl/base:core_headers", 66 "@com_google_absl//absl/memory", 67 ], 68) 69 70cc_library( 71 name = "deterministic_aead_factory", 72 srcs = ["deterministic_aead_factory.cc"], 73 hdrs = ["deterministic_aead_factory.h"], 74 include_prefix = "tink/daead", 75 deps = [ 76 ":deterministic_aead_wrapper", 77 "//:deterministic_aead", 78 "//:key_manager", 79 "//:keyset_handle", 80 "//:registry", 81 "//util:status", 82 "//util:statusor", 83 "@com_google_absl//absl/base:core_headers", 84 ], 85) 86 87cc_library( 88 name = "deterministic_aead_key_templates", 89 srcs = ["deterministic_aead_key_templates.cc"], 90 hdrs = ["deterministic_aead_key_templates.h"], 91 include_prefix = "tink/daead", 92 visibility = ["//visibility:public"], 93 deps = [ 94 "//proto:aes_siv_cc_proto", 95 "//proto:common_cc_proto", 96 "//proto:tink_cc_proto", 97 ], 98) 99 100cc_library( 101 name = "failing_daead", 102 srcs = ["failing_daead.cc"], 103 hdrs = ["failing_daead.h"], 104 include_prefix = "tink/daead", 105 deps = [ 106 "//:deterministic_aead", 107 "@com_google_absl//absl/strings", 108 ], 109) 110 111cc_library( 112 name = "deterministic_aead_parameters", 113 hdrs = ["deterministic_aead_parameters.h"], 114 include_prefix = "tink/daead", 115 deps = ["//:parameters"], 116) 117 118cc_library( 119 name = "deterministic_aead_key", 120 hdrs = ["deterministic_aead_key.h"], 121 include_prefix = "tink/daead", 122 deps = [ 123 ":deterministic_aead_parameters", 124 "//:key", 125 "@com_google_absl//absl/strings", 126 ], 127) 128 129cc_library( 130 name = "aes_siv_parameters", 131 srcs = ["aes_siv_parameters.cc"], 132 hdrs = ["aes_siv_parameters.h"], 133 include_prefix = "tink/daead", 134 deps = [ 135 ":deterministic_aead_parameters", 136 "//util:statusor", 137 ], 138) 139 140cc_library( 141 name = "aes_siv_key", 142 srcs = ["aes_siv_key.cc"], 143 hdrs = ["aes_siv_key.h"], 144 include_prefix = "tink/daead", 145 deps = [ 146 ":aes_siv_parameters", 147 ":deterministic_aead_key", 148 "//:partial_key_access_token", 149 "//:restricted_data", 150 "//subtle:subtle_util", 151 "//util:status", 152 "//util:statusor", 153 "@com_google_absl//absl/strings", 154 "@com_google_absl//absl/types:optional", 155 ], 156) 157 158cc_library( 159 name = "aes_siv_proto_serialization", 160 srcs = ["aes_siv_proto_serialization.cc"], 161 hdrs = ["aes_siv_proto_serialization.h"], 162 include_prefix = "tink/daead", 163 deps = [ 164 ":aes_siv_key", 165 ":aes_siv_parameters", 166 "//:partial_key_access", 167 "//:restricted_data", 168 "//:secret_key_access_token", 169 "//internal:key_parser", 170 "//internal:key_serializer", 171 "//internal:mutable_serialization_registry", 172 "//internal:parameters_parser", 173 "//internal:parameters_serializer", 174 "//internal:proto_key_serialization", 175 "//internal:proto_parameters_serialization", 176 "//proto:aes_siv_cc_proto", 177 "//proto:tink_cc_proto", 178 "//util:status", 179 "//util:statusor", 180 "@com_google_absl//absl/status", 181 "@com_google_absl//absl/types:optional", 182 ], 183) 184 185# tests 186 187cc_test( 188 name = "aes_siv_key_manager_test", 189 size = "small", 190 srcs = ["aes_siv_key_manager_test.cc"], 191 deps = [ 192 ":aes_siv_key_manager", 193 "//:deterministic_aead", 194 "//proto:aes_siv_cc_proto", 195 "//util:istream_input_stream", 196 "//util:secret_data", 197 "//util:status", 198 "//util:statusor", 199 "//util:test_matchers", 200 "@com_google_absl//absl/status", 201 "@com_google_googletest//:gtest_main", 202 ], 203) 204 205cc_test( 206 name = "deterministic_aead_wrapper_test", 207 size = "small", 208 srcs = ["deterministic_aead_wrapper_test.cc"], 209 deps = [ 210 ":deterministic_aead_wrapper", 211 ":failing_daead", 212 "//:deterministic_aead", 213 "//:primitive_set", 214 "//internal:registry_impl", 215 "//monitoring", 216 "//monitoring:monitoring_client_mocks", 217 "//util:status", 218 "//util:test_matchers", 219 "//util:test_util", 220 "@com_google_absl//absl/status", 221 "@com_google_googletest//:gtest_main", 222 ], 223) 224 225cc_test( 226 name = "deterministic_aead_config_test", 227 size = "small", 228 srcs = ["deterministic_aead_config_test.cc"], 229 tags = ["fips"], 230 deps = [ 231 ":aes_siv_key", 232 ":aes_siv_key_manager", 233 ":aes_siv_parameters", 234 ":deterministic_aead_config", 235 ":deterministic_aead_key_templates", 236 "//:deterministic_aead", 237 "//:insecure_secret_key_access", 238 "//:keyset_handle", 239 "//:partial_key_access", 240 "//:registry", 241 "//config:tink_fips", 242 "//internal:mutable_serialization_registry", 243 "//internal:proto_key_serialization", 244 "//internal:proto_parameters_serialization", 245 "//util:status", 246 "//util:test_matchers", 247 "//util:test_util", 248 "@com_google_absl//absl/status", 249 "@com_google_googletest//:gtest_main", 250 ], 251) 252 253cc_test( 254 name = "deterministic_aead_factory_test", 255 size = "small", 256 srcs = ["deterministic_aead_factory_test.cc"], 257 deps = [ 258 ":aes_siv_key_manager", 259 ":deterministic_aead_config", 260 ":deterministic_aead_factory", 261 "//:core/key_manager_impl", 262 "//:crypto_format", 263 "//:deterministic_aead", 264 "//:keyset_handle", 265 "//internal:key_info", 266 "//proto:aes_siv_cc_proto", 267 "//util:status", 268 "//util:test_keyset_handle", 269 "//util:test_util", 270 "@com_google_googletest//:gtest_main", 271 ], 272) 273 274cc_test( 275 name = "deterministic_aead_key_templates_test", 276 size = "small", 277 srcs = ["deterministic_aead_key_templates_test.cc"], 278 deps = [ 279 ":aes_siv_key_manager", 280 ":deterministic_aead_key_templates", 281 "//:core/key_manager_impl", 282 "//proto:aes_siv_cc_proto", 283 "//proto:common_cc_proto", 284 "//proto:tink_cc_proto", 285 "@com_google_googletest//:gtest_main", 286 ], 287) 288 289cc_test( 290 name = "failing_daead_test", 291 srcs = ["failing_daead_test.cc"], 292 deps = [ 293 ":failing_daead", 294 "//util:test_matchers", 295 "@com_google_absl//absl/status", 296 "@com_google_googletest//:gtest_main", 297 ], 298) 299 300cc_test( 301 name = "aes_siv_parameters_test", 302 srcs = ["aes_siv_parameters_test.cc"], 303 deps = [ 304 ":aes_siv_parameters", 305 "//util:statusor", 306 "//util:test_matchers", 307 "@com_google_googletest//:gtest_main", 308 ], 309) 310 311cc_test( 312 name = "aes_siv_key_test", 313 srcs = ["aes_siv_key_test.cc"], 314 deps = [ 315 ":aes_siv_key", 316 ":aes_siv_parameters", 317 "//:partial_key_access", 318 "//:restricted_data", 319 "//util:statusor", 320 "//util:test_matchers", 321 "@com_google_absl//absl/types:optional", 322 "@com_google_googletest//:gtest_main", 323 ], 324) 325 326cc_test( 327 name = "aes_siv_proto_serialization_test", 328 size = "small", 329 srcs = ["aes_siv_proto_serialization_test.cc"], 330 deps = [ 331 ":aes_siv_key", 332 ":aes_siv_parameters", 333 ":aes_siv_proto_serialization", 334 "//:insecure_secret_key_access", 335 "//:partial_key_access", 336 "//:restricted_data", 337 "//internal:mutable_serialization_registry", 338 "//internal:proto_key_serialization", 339 "//internal:proto_parameters_serialization", 340 "//proto:aes_siv_cc_proto", 341 "//proto:tink_cc_proto", 342 "//subtle:random", 343 "//util:test_matchers", 344 "@com_google_googletest//:gtest_main", 345 ], 346) 347