xref: /aosp_15_r20/external/tink/cc/aead/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1package(default_visibility = ["//:__subpackages__"])
2
3licenses(["notice"])
4
5cc_library(
6    name = "aead_wrapper",
7    srcs = ["aead_wrapper.cc"],
8    hdrs = ["aead_wrapper.h"],
9    include_prefix = "tink/aead",
10    deps = [
11        "//:aead",
12        "//:crypto_format",
13        "//:primitive_set",
14        "//:primitive_wrapper",
15        "//internal:monitoring_util",
16        "//internal:registry_impl",
17        "//internal:util",
18        "//monitoring",
19        "//util:status",
20        "//util:statusor",
21        "@com_google_absl//absl/memory",
22        "@com_google_absl//absl/status",
23        "@com_google_absl//absl/strings",
24    ],
25)
26
27cc_library(
28    name = "cord_aead_wrapper",
29    srcs = ["cord_aead_wrapper.cc"],
30    hdrs = ["cord_aead_wrapper.h"],
31    include_prefix = "tink/aead",
32    deps = [
33        ":cord_aead",
34        "//:crypto_format",
35        "//:primitive_set",
36        "//:primitive_wrapper",
37        "//util:status",
38        "//util:statusor",
39        "@com_google_absl//absl/status",
40        "@com_google_absl//absl/strings:cord",
41    ],
42)
43
44cc_library(
45    name = "cord_aead",
46    hdrs = ["cord_aead.h"],
47    include_prefix = "tink/aead",
48    visibility = ["//visibility:public"],
49    deps = [
50        "//util:statusor",
51        "@com_google_absl//absl/strings:cord",
52    ],
53)
54
55cc_library(
56    name = "aead_config",
57    srcs = ["aead_config.cc"],
58    hdrs = ["aead_config.h"],
59    include_prefix = "tink/aead",
60    visibility = ["//visibility:public"],
61    deps = [
62        ":aead_wrapper",
63        ":aes_ctr_hmac_aead_key_manager",
64        ":aes_eax_key_manager",
65        ":aes_gcm_key_manager",
66        ":aes_gcm_proto_serialization",
67        ":aes_gcm_siv_key_manager",
68        ":kms_aead_key_manager",
69        ":kms_envelope_aead_key_manager",
70        ":xchacha20_poly1305_key_manager",
71        "//:registry",
72        "//config:tink_fips",
73        "//mac:mac_config",
74        "//proto:config_cc_proto",
75        "//util:status",
76        "@com_google_absl//absl/base:core_headers",
77        "@com_google_absl//absl/memory",
78        "@com_google_absl//absl/status",
79    ],
80)
81
82cc_library(
83    name = "aead_factory",
84    srcs = ["aead_factory.cc"],
85    hdrs = ["aead_factory.h"],
86    include_prefix = "tink/aead",
87    deps = [
88        ":aead_wrapper",
89        "//:aead",
90        "//:key_manager",
91        "//:keyset_handle",
92        "//:registry",
93        "//util:status",
94        "//util:statusor",
95        "@com_google_absl//absl/base:core_headers",
96        "@com_google_absl//absl/memory",
97    ],
98)
99
100cc_library(
101    name = "aead_key_templates",
102    srcs = ["aead_key_templates.cc"],
103    hdrs = ["aead_key_templates.h"],
104    include_prefix = "tink/aead",
105    visibility = ["//visibility:public"],
106    deps = [
107        "//proto:aes_ctr_cc_proto",
108        "//proto:aes_ctr_hmac_aead_cc_proto",
109        "//proto:aes_eax_cc_proto",
110        "//proto:aes_gcm_cc_proto",
111        "//proto:aes_gcm_siv_cc_proto",
112        "//proto:common_cc_proto",
113        "//proto:hmac_cc_proto",
114        "//proto:kms_envelope_cc_proto",
115        "//proto:tink_cc_proto",
116        "@com_google_absl//absl/strings",
117    ],
118)
119
120cc_library(
121    name = "aes_eax_key_manager",
122    hdrs = ["aes_eax_key_manager.h"],
123    include_prefix = "tink/aead",
124    deps = [
125        "//:aead",
126        "//:core/key_type_manager",
127        "//:core/template_util",
128        "//proto:aes_eax_cc_proto",
129        "//proto:tink_cc_proto",
130        "//subtle:aes_eax_boringssl",
131        "//subtle:random",
132        "//util:constants",
133        "//util:secret_data",
134        "//util:status",
135        "//util:statusor",
136        "//util:validation",
137        "@com_google_absl//absl/memory",
138        "@com_google_absl//absl/status",
139        "@com_google_absl//absl/strings",
140    ],
141)
142
143cc_library(
144    name = "aes_gcm_key_manager",
145    hdrs = ["aes_gcm_key_manager.h"],
146    include_prefix = "tink/aead",
147    visibility = ["//visibility:public"],
148    deps = [
149        ":cord_aead",
150        "//:aead",
151        "//:core/key_type_manager",
152        "//:core/template_util",
153        "//:input_stream",
154        "//aead/internal:cord_aes_gcm_boringssl",
155        "//internal:fips_utils",
156        "//proto:aes_gcm_cc_proto",
157        "//proto:tink_cc_proto",
158        "//subtle:aes_gcm_boringssl",
159        "//subtle:random",
160        "//util:constants",
161        "//util:input_stream_util",
162        "//util:secret_data",
163        "//util:status",
164        "//util:statusor",
165        "//util:validation",
166        "@com_google_absl//absl/memory",
167        "@com_google_absl//absl/status",
168        "@com_google_absl//absl/strings",
169    ],
170)
171
172cc_library(
173    name = "aes_gcm_siv_key_manager",
174    hdrs = ["aes_gcm_siv_key_manager.h"],
175    include_prefix = "tink/aead",
176    deps = [
177        "//:aead",
178        "//:core/key_type_manager",
179        "//:core/template_util",
180        "//proto:aes_gcm_siv_cc_proto",
181        "//proto:tink_cc_proto",
182        "//subtle:aes_gcm_siv_boringssl",
183        "//subtle:random",
184        "//util:constants",
185        "//util:secret_data",
186        "//util:status",
187        "//util:statusor",
188        "//util:validation",
189        "@com_google_absl//absl/memory",
190        "@com_google_absl//absl/strings",
191    ],
192)
193
194cc_library(
195    name = "aes_ctr_hmac_aead_key_manager",
196    srcs = ["aes_ctr_hmac_aead_key_manager.cc"],
197    hdrs = ["aes_ctr_hmac_aead_key_manager.h"],
198    include_prefix = "tink/aead",
199    visibility = ["//visibility:public"],
200    deps = [
201        "//:aead",
202        "//:core/key_type_manager",
203        "//:core/template_util",
204        "//:mac",
205        "//internal:fips_utils",
206        "//mac:hmac_key_manager",
207        "//proto:aes_ctr_cc_proto",
208        "//proto:aes_ctr_hmac_aead_cc_proto",
209        "//proto:common_cc_proto",
210        "//proto:hmac_cc_proto",
211        "//proto:tink_cc_proto",
212        "//subtle:aes_ctr_boringssl",
213        "//subtle:encrypt_then_authenticate",
214        "//subtle:ind_cpa_cipher",
215        "//subtle:random",
216        "//util:constants",
217        "//util:enums",
218        "//util:input_stream_util",
219        "//util:secret_data",
220        "//util:status",
221        "//util:statusor",
222        "//util:validation",
223        "@com_google_absl//absl/memory",
224        "@com_google_absl//absl/status",
225        "@com_google_absl//absl/status:statusor",
226        "@com_google_absl//absl/strings",
227    ],
228)
229
230cc_library(
231    name = "xchacha20_poly1305_key_manager",
232    hdrs = ["xchacha20_poly1305_key_manager.h"],
233    include_prefix = "tink/aead",
234    visibility = ["//visibility:public"],
235    deps = [
236        "//:aead",
237        "//:core/key_type_manager",
238        "//:core/template_util",
239        "//:input_stream",
240        "//proto:tink_cc_proto",
241        "//proto:xchacha20_poly1305_cc_proto",
242        "//subtle",
243        "//subtle:xchacha20_poly1305_boringssl",
244        "//util:constants",
245        "//util:input_stream_util",
246        "//util:secret_data",
247        "//util:status",
248        "//util:statusor",
249        "//util:validation",
250        "@com_google_absl//absl/memory",
251        "@com_google_absl//absl/status",
252        "@com_google_absl//absl/strings",
253    ],
254)
255
256cc_library(
257    name = "kms_aead_key_manager",
258    hdrs = ["kms_aead_key_manager.h"],
259    include_prefix = "tink/aead",
260    deps = [
261        "//:aead",
262        "//:core/key_type_manager",
263        "//:core/template_util",
264        "//:kms_client",
265        "//:kms_clients",
266        "//proto:kms_aead_cc_proto",
267        "//proto:tink_cc_proto",
268        "//util:constants",
269        "//util:status",
270        "//util:statusor",
271        "//util:validation",
272        "@com_google_absl//absl/memory",
273        "@com_google_absl//absl/status",
274        "@com_google_absl//absl/strings",
275    ],
276)
277
278cc_library(
279    name = "kms_envelope_aead",
280    srcs = ["kms_envelope_aead.cc"],
281    hdrs = ["kms_envelope_aead.h"],
282    include_prefix = "tink/aead",
283    visibility = ["//visibility:public"],
284    deps = [
285        "//:aead",
286        "//:registry",
287        "//aead/internal:aead_util",
288        "//proto:tink_cc_proto",
289        "//util:status",
290        "//util:statusor",
291        "@com_google_absl//absl/base:endian",
292        "@com_google_absl//absl/status",
293        "@com_google_absl//absl/strings",
294    ],
295)
296
297cc_library(
298    name = "kms_envelope_aead_key_manager",
299    srcs = ["kms_envelope_aead_key_manager.cc"],
300    hdrs = ["kms_envelope_aead_key_manager.h"],
301    include_prefix = "tink/aead",
302    deps = [
303        ":kms_envelope_aead",
304        "//:aead",
305        "//:core/key_type_manager",
306        "//:core/template_util",
307        "//:kms_client",
308        "//:kms_clients",
309        "//aead/internal:aead_util",
310        "//internal:fips_utils",
311        "//proto:kms_envelope_cc_proto",
312        "//proto:tink_cc_proto",
313        "//util:constants",
314        "//util:status",
315        "//util:statusor",
316        "//util:validation",
317        "@com_google_absl//absl/memory",
318        "@com_google_absl//absl/status",
319        "@com_google_absl//absl/strings",
320    ],
321)
322
323cc_library(
324    name = "mock_aead",
325    testonly = 1,
326    hdrs = ["mock_aead.h"],
327    include_prefix = "tink/aead",
328    visibility = ["//visibility:public"],
329    deps = [
330        "//:aead",
331        "//util:statusor",
332        "@com_google_absl//absl/strings",
333        "@com_google_googletest//:gtest",
334    ],
335)
336
337cc_library(
338    name = "failing_aead",
339    testonly = 1,
340    srcs = ["failing_aead.cc"],
341    hdrs = ["failing_aead.h"],
342    include_prefix = "tink/aead",
343    visibility = ["//visibility:public"],
344    deps = [
345        "//:aead",
346        "@com_google_absl//absl/strings",
347    ],
348)
349
350cc_library(
351    name = "aead_parameters",
352    hdrs = ["aead_parameters.h"],
353    include_prefix = "tink/aead",
354    deps = ["//:parameters"],
355)
356
357cc_library(
358    name = "aead_key",
359    hdrs = ["aead_key.h"],
360    include_prefix = "tink/aead",
361    deps = [
362        ":aead_parameters",
363        "//:key",
364        "@com_google_absl//absl/strings",
365    ],
366)
367
368cc_library(
369    name = "aes_gcm_parameters",
370    srcs = ["aes_gcm_parameters.cc"],
371    hdrs = ["aes_gcm_parameters.h"],
372    include_prefix = "tink/aead",
373    deps = [
374        ":aead_parameters",
375        "//util:status",
376        "//util:statusor",
377        "@com_google_absl//absl/strings",
378    ],
379)
380
381cc_library(
382    name = "aes_gcm_key",
383    srcs = ["aes_gcm_key.cc"],
384    hdrs = ["aes_gcm_key.h"],
385    include_prefix = "tink/aead",
386    deps = [
387        ":aead_key",
388        ":aes_gcm_parameters",
389        "//:partial_key_access_token",
390        "//:restricted_data",
391        "//subtle:subtle_util",
392        "//util:status",
393        "//util:statusor",
394        "@com_google_absl//absl/strings",
395        "@com_google_absl//absl/types:optional",
396    ],
397)
398
399cc_library(
400    name = "aes_gcm_proto_serialization",
401    srcs = ["aes_gcm_proto_serialization.cc"],
402    hdrs = ["aes_gcm_proto_serialization.h"],
403    include_prefix = "tink/aead",
404    deps = [
405        ":aes_gcm_key",
406        ":aes_gcm_parameters",
407        "//:partial_key_access",
408        "//:restricted_data",
409        "//:secret_key_access_token",
410        "//internal:key_parser",
411        "//internal:key_serializer",
412        "//internal:mutable_serialization_registry",
413        "//internal:parameters_parser",
414        "//internal:parameters_serializer",
415        "//internal:proto_key_serialization",
416        "//internal:proto_parameters_serialization",
417        "//proto:aes_gcm_cc_proto",
418        "//proto:tink_cc_proto",
419        "//util:status",
420        "//util:statusor",
421        "@com_google_absl//absl/status",
422        "@com_google_absl//absl/types:optional",
423    ],
424)
425
426# tests
427
428cc_test(
429    name = "aead_wrapper_test",
430    size = "small",
431    srcs = ["aead_wrapper_test.cc"],
432    deps = [
433        ":aead_wrapper",
434        ":mock_aead",
435        "//:aead",
436        "//:crypto_format",
437        "//:primitive_set",
438        "//:registry",
439        "//internal:registry_impl",
440        "//monitoring",
441        "//monitoring:monitoring_client_mocks",
442        "//proto:tink_cc_proto",
443        "//util:status",
444        "//util:statusor",
445        "//util:test_matchers",
446        "//util:test_util",
447        "@com_google_absl//absl/container:flat_hash_map",
448        "@com_google_absl//absl/memory",
449        "@com_google_absl//absl/status",
450        "@com_google_absl//absl/status:statusor",
451        "@com_google_absl//absl/strings",
452        "@com_google_googletest//:gtest_main",
453    ],
454)
455
456cc_test(
457    name = "aead_config_test",
458    size = "small",
459    srcs = ["aead_config_test.cc"],
460    tags = ["fips"],
461    deps = [
462        ":aead_config",
463        ":aead_key_templates",
464        ":aes_gcm_key",
465        ":aes_gcm_key_manager",
466        ":aes_gcm_parameters",
467        "//:aead",
468        "//:insecure_secret_key_access",
469        "//:keyset_handle",
470        "//:partial_key_access",
471        "//:primitive_set",
472        "//:registry",
473        "//config:tink_fips",
474        "//internal:fips_utils",
475        "//internal:mutable_serialization_registry",
476        "//internal:proto_key_serialization",
477        "//internal:proto_parameters_serialization",
478        "//proto:tink_cc_proto",
479        "//util:status",
480        "//util:statusor",
481        "//util:test_matchers",
482        "@com_google_absl//absl/memory",
483        "@com_google_absl//absl/status",
484        "@com_google_googletest//:gtest_main",
485    ],
486)
487
488cc_test(
489    name = "aead_factory_test",
490    size = "small",
491    srcs = ["aead_factory_test.cc"],
492    deps = [
493        ":aead_config",
494        ":aead_factory",
495        ":aes_gcm_key_manager",
496        "//:aead",
497        "//:crypto_format",
498        "//:keyset_handle",
499        "//internal:key_info",
500        "//proto:aes_gcm_cc_proto",
501        "//proto:tink_cc_proto",
502        "//util:status",
503        "//util:statusor",
504        "//util:test_keyset_handle",
505        "//util:test_util",
506        "@com_google_absl//absl/status",
507        "@com_google_absl//absl/strings",
508        "@com_google_googletest//:gtest_main",
509    ],
510)
511
512cc_test(
513    name = "aead_key_templates_test",
514    size = "small",
515    srcs = ["aead_key_templates_test.cc"],
516    deps = [
517        ":aead_config",
518        ":aead_key_templates",
519        ":aes_ctr_hmac_aead_key_manager",
520        ":aes_eax_key_manager",
521        ":aes_gcm_key_manager",
522        ":aes_gcm_siv_key_manager",
523        ":kms_envelope_aead_key_manager",
524        ":xchacha20_poly1305_key_manager",
525        "//:aead",
526        "//:core/key_manager_impl",
527        "//:key_manager",
528        "//:keyset_handle",
529        "//proto:aes_ctr_cc_proto",
530        "//proto:aes_ctr_hmac_aead_cc_proto",
531        "//proto:aes_eax_cc_proto",
532        "//proto:aes_gcm_cc_proto",
533        "//proto:aes_gcm_siv_cc_proto",
534        "//proto:common_cc_proto",
535        "//proto:hmac_cc_proto",
536        "//proto:kms_envelope_cc_proto",
537        "//proto:tink_cc_proto",
538        "//proto:xchacha20_poly1305_cc_proto",
539        "//subtle:aead_test_util",
540        "//util:fake_kms_client",
541        "//util:status",
542        "//util:test_matchers",
543        "@com_google_absl//absl/status",
544        "@com_google_absl//absl/status:statusor",
545        "@com_google_googletest//:gtest_main",
546    ],
547)
548
549cc_test(
550    name = "aes_eax_key_manager_test",
551    size = "small",
552    srcs = ["aes_eax_key_manager_test.cc"],
553    deps = [
554        ":aes_eax_key_manager",
555        "//:aead",
556        "//proto:aes_eax_cc_proto",
557        "//proto:tink_cc_proto",
558        "//subtle:aead_test_util",
559        "//subtle:aes_eax_boringssl",
560        "//util:secret_data",
561        "//util:status",
562        "//util:statusor",
563        "//util:test_matchers",
564        "@com_google_googletest//:gtest_main",
565    ],
566)
567
568cc_test(
569    name = "aes_gcm_key_manager_test",
570    size = "small",
571    srcs = ["aes_gcm_key_manager_test.cc"],
572    deps = [
573        ":aes_gcm_key_manager",
574        ":cord_aead",
575        "//:aead",
576        "//aead/internal:cord_aes_gcm_boringssl",
577        "//proto:aes_gcm_cc_proto",
578        "//proto:tink_cc_proto",
579        "//subtle:aead_test_util",
580        "//subtle:aes_gcm_boringssl",
581        "//util:istream_input_stream",
582        "//util:secret_data",
583        "//util:status",
584        "//util:statusor",
585        "//util:test_matchers",
586        "@com_google_absl//absl/memory",
587        "@com_google_absl//absl/status",
588        "@com_google_googletest//:gtest_main",
589    ],
590)
591
592cc_test(
593    name = "aes_gcm_siv_key_manager_test",
594    size = "small",
595    srcs = ["aes_gcm_siv_key_manager_test.cc"],
596    deps = [
597        ":aes_gcm_siv_key_manager",
598        "//:aead",
599        "//internal:ssl_util",
600        "//proto:aes_gcm_siv_cc_proto",
601        "//proto:tink_cc_proto",
602        "//subtle:aead_test_util",
603        "//subtle:aes_gcm_siv_boringssl",
604        "//util:secret_data",
605        "//util:status",
606        "//util:statusor",
607        "//util:test_matchers",
608        "@com_google_absl//absl/status",
609        "@com_google_googletest//:gtest_main",
610    ],
611)
612
613cc_test(
614    name = "aes_ctr_hmac_aead_key_manager_test",
615    size = "small",
616    srcs = ["aes_ctr_hmac_aead_key_manager_test.cc"],
617    deps = [
618        ":aes_ctr_hmac_aead_key_manager",
619        "//:aead",
620        "//proto:aes_ctr_cc_proto",
621        "//proto:aes_ctr_hmac_aead_cc_proto",
622        "//proto:common_cc_proto",
623        "//proto:hmac_cc_proto",
624        "//proto:tink_cc_proto",
625        "//subtle",
626        "//subtle:aead_test_util",
627        "//subtle:aes_ctr_boringssl",
628        "//util:enums",
629        "//util:istream_input_stream",
630        "//util:secret_data",
631        "//util:status",
632        "//util:statusor",
633        "//util:test_matchers",
634        "@com_google_absl//absl/status",
635        "@com_google_googletest//:gtest_main",
636    ],
637)
638
639cc_test(
640    name = "xchacha20_poly1305_key_manager_test",
641    size = "small",
642    srcs = ["xchacha20_poly1305_key_manager_test.cc"],
643    deps = [
644        ":xchacha20_poly1305_key_manager",
645        "//:aead",
646        "//internal:ssl_util",
647        "//proto:tink_cc_proto",
648        "//proto:xchacha20_poly1305_cc_proto",
649        "//subtle:aead_test_util",
650        "//subtle:xchacha20_poly1305_boringssl",
651        "//util:istream_input_stream",
652        "//util:secret_data",
653        "//util:status",
654        "//util:statusor",
655        "//util:test_matchers",
656        "@com_google_absl//absl/memory",
657        "@com_google_absl//absl/status",
658        "@com_google_googletest//:gtest_main",
659    ],
660)
661
662cc_test(
663    name = "kms_aead_key_manager_test",
664    size = "small",
665    srcs = ["kms_aead_key_manager_test.cc"],
666    deps = [
667        ":kms_aead_key_manager",
668        "//:aead",
669        "//:kms_client",
670        "//:kms_clients",
671        "//proto:kms_aead_cc_proto",
672        "//proto:tink_cc_proto",
673        "//subtle:aead_test_util",
674        "//util:status",
675        "//util:statusor",
676        "//util:test_matchers",
677        "//util:test_util",
678        "@com_google_absl//absl/memory",
679        "@com_google_absl//absl/status",
680        "@com_google_googletest//:gtest_main",
681    ],
682)
683
684cc_test(
685    name = "kms_envelope_aead_test",
686    size = "small",
687    srcs = ["kms_envelope_aead_test.cc"],
688    deps = [
689        ":aead_config",
690        ":aead_key_templates",
691        ":kms_envelope_aead",
692        "//:aead",
693        "//:keyset_handle",
694        "//:registry",
695        "//internal:ssl_util",
696        "//mac:mac_key_templates",
697        "//proto:aes_gcm_cc_proto",
698        "//util:fake_kms_client",
699        "//util:status",
700        "//util:statusor",
701        "//util:test_matchers",
702        "//util:test_util",
703        "@com_google_absl//absl/base:endian",
704        "@com_google_absl//absl/memory",
705        "@com_google_absl//absl/status",
706        "@com_google_absl//absl/strings",
707        "@com_google_googletest//:gtest_main",
708    ],
709)
710
711cc_test(
712    name = "kms_envelope_aead_key_manager_test",
713    size = "small",
714    srcs = ["kms_envelope_aead_key_manager_test.cc"],
715    deps = [
716        ":aead_config",
717        ":aead_key_templates",
718        ":aes_eax_key_manager",
719        ":kms_envelope_aead",
720        ":kms_envelope_aead_key_manager",
721        "//:aead",
722        "//:kms_client",
723        "//:kms_clients",
724        "//:registry",
725        "//mac:mac_key_templates",
726        "//proto:kms_envelope_cc_proto",
727        "//proto:tink_cc_proto",
728        "//subtle:aead_test_util",
729        "//util:fake_kms_client",
730        "//util:status",
731        "//util:statusor",
732        "//util:test_matchers",
733        "//util:test_util",
734        "@com_google_absl//absl/memory",
735        "@com_google_absl//absl/status",
736        "@com_google_googletest//:gtest_main",
737    ],
738)
739
740cc_test(
741    name = "cord_aead_wrapper_test",
742    size = "small",
743    srcs = ["cord_aead_wrapper_test.cc"],
744    deps = [
745        ":cord_aead",
746        ":cord_aead_wrapper",
747        "//:primitive_set",
748        "//proto:tink_cc_proto",
749        "//util:status",
750        "//util:test_matchers",
751        "//util:test_util",
752        "@com_google_absl//absl/memory",
753        "@com_google_absl//absl/status",
754        "@com_google_absl//absl/strings",
755        "@com_google_absl//absl/strings:cord",
756        "@com_google_absl//absl/strings:cord_test_helpers",
757        "@com_google_googletest//:gtest_main",
758    ],
759)
760
761cc_test(
762    name = "failing_aead_test",
763    srcs = ["failing_aead_test.cc"],
764    deps = [
765        ":failing_aead",
766        "//util:test_matchers",
767        "@com_google_absl//absl/status",
768        "@com_google_googletest//:gtest_main",
769    ],
770)
771
772cc_test(
773    name = "aes_gcm_parameters_test",
774    srcs = ["aes_gcm_parameters_test.cc"],
775    deps = [
776        ":aes_gcm_parameters",
777        "//util:statusor",
778        "//util:test_matchers",
779        "@com_google_googletest//:gtest_main",
780    ],
781)
782
783cc_test(
784    name = "aes_gcm_key_test",
785    srcs = ["aes_gcm_key_test.cc"],
786    deps = [
787        ":aes_gcm_key",
788        ":aes_gcm_parameters",
789        "//:partial_key_access",
790        "//:restricted_data",
791        "//util:statusor",
792        "//util:test_matchers",
793        "@com_google_absl//absl/types:optional",
794        "@com_google_googletest//:gtest_main",
795    ],
796)
797
798cc_test(
799    name = "aes_gcm_proto_serialization_test",
800    size = "small",
801    srcs = ["aes_gcm_proto_serialization_test.cc"],
802    deps = [
803        ":aes_gcm_key",
804        ":aes_gcm_parameters",
805        ":aes_gcm_proto_serialization",
806        "//:insecure_secret_key_access",
807        "//:partial_key_access",
808        "//:restricted_data",
809        "//internal:mutable_serialization_registry",
810        "//internal:proto_key_serialization",
811        "//internal:proto_parameters_serialization",
812        "//proto:aes_gcm_cc_proto",
813        "//proto:tink_cc_proto",
814        "//subtle:random",
815        "//util:test_matchers",
816        "@com_google_googletest//:gtest_main",
817    ],
818)
819