xref: /aosp_15_r20/external/tink/cc/subtle/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1package(default_visibility = ["//:__subpackages__"])
2
3licenses(["notice"])
4
5PUBLIC_APIS = [
6    "common_enums.h",
7    "aes_gcm_boringssl.h",
8    "aes_siv_boringssl.h",
9    "encrypt_then_authenticate.h",
10    "hmac_boringssl.h",
11    "hkdf.h",
12    "ind_cpa_cipher.h",
13    "random.h",
14]
15
16cc_library(
17    name = "subtle",
18    hdrs = PUBLIC_APIS,
19    include_prefix = "tink/subtle",
20    visibility = ["//visibility:public"],
21    deps = [
22        ":aes_gcm_boringssl",
23        ":aes_siv_boringssl",
24        ":common_enums",
25        ":encrypt_then_authenticate",
26        ":hkdf",
27        ":hmac_boringssl",
28        ":random",
29        "//:aead",
30        "//:deterministic_aead",
31        "//:hybrid_decrypt",
32        "//:hybrid_encrypt",
33        "//:mac",
34        "//:public_key_sign",
35        "//:public_key_verify",
36        "//aead/internal:aead_from_zero_copy",
37        "//aead/internal:zero_copy_aead",
38        "//internal:aes_util",
39        "//internal:ssl_unique_ptr",
40        "//util:secret_data",
41        "//util:status",
42        "//util:statusor",
43        "@boringssl//:crypto",
44        "@com_google_absl//absl/base:core_headers",
45        "@com_google_absl//absl/strings",
46        "@com_google_absl//absl/types:span",
47    ],
48)
49
50cc_library(
51    name = "ind_cpa_cipher",
52    hdrs = ["ind_cpa_cipher.h"],
53    include_prefix = "tink/subtle",
54    deps = [
55        "//util:statusor",
56        "@com_google_absl//absl/strings",
57    ],
58)
59
60cc_library(
61    name = "ecies_hkdf_recipient_kem_boringssl",
62    srcs = ["ecies_hkdf_recipient_kem_boringssl.cc"],
63    hdrs = ["ecies_hkdf_recipient_kem_boringssl.h"],
64    include_prefix = "tink/subtle",
65    deps = [
66        ":common_enums",
67        ":hkdf",
68        "//internal:ec_util",
69        "//internal:fips_utils",
70        "//internal:ssl_unique_ptr",
71        "//util:errors",
72        "//util:secret_data",
73        "//util:statusor",
74        "@boringssl//:crypto",
75        "@com_google_absl//absl/memory",
76        "@com_google_absl//absl/status",
77        "@com_google_absl//absl/strings",
78    ],
79)
80
81cc_library(
82    name = "ecies_hkdf_sender_kem_boringssl",
83    srcs = ["ecies_hkdf_sender_kem_boringssl.cc"],
84    hdrs = ["ecies_hkdf_sender_kem_boringssl.h"],
85    include_prefix = "tink/subtle",
86    deps = [
87        ":common_enums",
88        ":hkdf",
89        "//internal:ec_util",
90        "//internal:fips_utils",
91        "//internal:ssl_unique_ptr",
92        "//util:secret_data",
93        "//util:statusor",
94        "@boringssl//:crypto",
95        "@com_google_absl//absl/memory",
96        "@com_google_absl//absl/status",
97        "@com_google_absl//absl/strings",
98    ],
99)
100
101cc_library(
102    name = "ec_util",
103    hdrs = ["ec_util.h"],
104    include_prefix = "tink/subtle",
105    visibility = ["//visibility:public"],
106    deps = [
107        ":common_enums",
108        "//internal:ec_util",
109        "//util:status",
110        "//util:statusor",
111        "@boringssl//:crypto",
112        "@com_google_absl//absl/base:core_headers",
113    ],
114)
115
116cc_library(
117    name = "ed25519_sign_boringssl",
118    srcs = ["ed25519_sign_boringssl.cc"],
119    hdrs = ["ed25519_sign_boringssl.h"],
120    include_prefix = "tink/subtle",
121    deps = [
122        "//:public_key_sign",
123        "//config:tink_fips",
124        "//internal:ec_util",
125        "//internal:ssl_unique_ptr",
126        "//internal:util",
127        "//util:secret_data",
128        "//util:statusor",
129        "@boringssl//:crypto",
130        "@com_google_absl//absl/memory",
131        "@com_google_absl//absl/status",
132        "@com_google_absl//absl/strings",
133        "@com_google_absl//absl/strings:str_format",
134    ],
135)
136
137cc_library(
138    name = "ed25519_verify_boringssl",
139    srcs = ["ed25519_verify_boringssl.cc"],
140    hdrs = ["ed25519_verify_boringssl.h"],
141    include_prefix = "tink/subtle",
142    deps = [
143        "//:public_key_verify",
144        "//internal:ec_util",
145        "//internal:fips_utils",
146        "//internal:ssl_unique_ptr",
147        "//internal:util",
148        "//util:statusor",
149        "@boringssl//:crypto",
150        "@com_google_absl//absl/memory",
151        "@com_google_absl//absl/status",
152        "@com_google_absl//absl/strings",
153        "@com_google_absl//absl/strings:str_format",
154    ],
155)
156
157cc_library(
158    name = "hkdf",
159    srcs = ["hkdf.cc"],
160    hdrs = ["hkdf.h"],
161    include_prefix = "tink/subtle",
162    deps = [
163        ":common_enums",
164        ":subtle_util",
165        "//internal:md_util",
166        "//internal:ssl_unique_ptr",
167        "//util:secret_data",
168        "//util:status",
169        "//util:statusor",
170        "@boringssl//:crypto",
171        "@com_google_absl//absl/algorithm:container",
172        "@com_google_absl//absl/status",
173        "@com_google_absl//absl/strings",
174        "@com_google_absl//absl/types:span",
175    ],
176)
177
178cc_library(
179    name = "aes_cmac_boringssl",
180    srcs = ["aes_cmac_boringssl.cc"],
181    hdrs = ["aes_cmac_boringssl.h"],
182    include_prefix = "tink/subtle",
183    deps = [
184        ":subtle_util",
185        "//:mac",
186        "//internal:aes_util",
187        "//internal:fips_utils",
188        "//internal:ssl_unique_ptr",
189        "//internal:util",
190        "//util:errors",
191        "//util:secret_data",
192        "//util:status",
193        "//util:statusor",
194        "@boringssl//:crypto",
195        "@com_google_absl//absl/memory",
196        "@com_google_absl//absl/status",
197    ],
198)
199
200cc_library(
201    name = "hmac_boringssl",
202    srcs = ["hmac_boringssl.cc"],
203    hdrs = ["hmac_boringssl.h"],
204    include_prefix = "tink/subtle",
205    deps = [
206        ":common_enums",
207        "//:mac",
208        "//internal:fips_utils",
209        "//internal:md_util",
210        "//internal:util",
211        "//util:errors",
212        "//util:secret_data",
213        "//util:status",
214        "//util:statusor",
215        "@boringssl//:crypto",
216        "@com_google_absl//absl/memory",
217        "@com_google_absl//absl/status",
218        "@com_google_absl//absl/strings",
219    ],
220)
221
222cc_library(
223    name = "ecdsa_sign_boringssl",
224    srcs = ["ecdsa_sign_boringssl.cc"],
225    hdrs = ["ecdsa_sign_boringssl.h"],
226    include_prefix = "tink/subtle",
227    deps = [
228        ":common_enums",
229        ":subtle_util_boringssl",
230        "//:public_key_sign",
231        "//internal:fips_utils",
232        "//internal:md_util",
233        "//internal:util",
234        "//signature/internal:ecdsa_raw_sign_boringssl",
235        "//util:statusor",
236        "@boringssl//:crypto",
237        "@com_google_absl//absl/status",
238        "@com_google_absl//absl/strings",
239    ],
240)
241
242cc_library(
243    name = "ecdsa_verify_boringssl",
244    srcs = ["ecdsa_verify_boringssl.cc"],
245    hdrs = ["ecdsa_verify_boringssl.h"],
246    include_prefix = "tink/subtle",
247    deps = [
248        ":common_enums",
249        ":subtle_util_boringssl",
250        "//:public_key_verify",
251        "//internal:ec_util",
252        "//internal:err_util",
253        "//internal:fips_utils",
254        "//internal:md_util",
255        "//internal:ssl_unique_ptr",
256        "//internal:util",
257        "//util:errors",
258        "//util:status",
259        "@boringssl//:crypto",
260        "@com_google_absl//absl/status",
261        "@com_google_absl//absl/strings",
262    ],
263)
264
265cc_library(
266    name = "rsa_ssa_pss_verify_boringssl",
267    srcs = ["rsa_ssa_pss_verify_boringssl.cc"],
268    hdrs = ["rsa_ssa_pss_verify_boringssl.h"],
269    include_prefix = "tink/subtle",
270    deps = [
271        ":common_enums",
272        "//:public_key_verify",
273        "//internal:err_util",
274        "//internal:fips_utils",
275        "//internal:md_util",
276        "//internal:rsa_util",
277        "//internal:ssl_unique_ptr",
278        "//internal:util",
279        "//util:errors",
280        "//util:status",
281        "//util:statusor",
282        "@boringssl//:crypto",
283        "@com_google_absl//absl/memory",
284        "@com_google_absl//absl/status",
285        "@com_google_absl//absl/strings",
286    ],
287)
288
289cc_library(
290    name = "rsa_ssa_pss_sign_boringssl",
291    srcs = ["rsa_ssa_pss_sign_boringssl.cc"],
292    hdrs = ["rsa_ssa_pss_sign_boringssl.h"],
293    include_prefix = "tink/subtle",
294    deps = [
295        ":common_enums",
296        ":subtle_util",
297        "//:public_key_sign",
298        "//internal:err_util",
299        "//internal:fips_utils",
300        "//internal:md_util",
301        "//internal:rsa_util",
302        "//internal:ssl_unique_ptr",
303        "//internal:util",
304        "//util:status",
305        "//util:statusor",
306        "@boringssl//:crypto",
307        "@com_google_absl//absl/memory",
308        "@com_google_absl//absl/status",
309        "@com_google_absl//absl/strings",
310        "@com_google_absl//absl/types:span",
311    ],
312)
313
314cc_library(
315    name = "rsa_ssa_pkcs1_verify_boringssl",
316    srcs = ["rsa_ssa_pkcs1_verify_boringssl.cc"],
317    hdrs = ["rsa_ssa_pkcs1_verify_boringssl.h"],
318    include_prefix = "tink/subtle",
319    deps = [
320        ":common_enums",
321        "//:public_key_verify",
322        "//internal:fips_utils",
323        "//internal:md_util",
324        "//internal:rsa_util",
325        "//internal:ssl_unique_ptr",
326        "//internal:util",
327        "//util:errors",
328        "//util:status",
329        "//util:statusor",
330        "@boringssl//:crypto",
331        "@com_google_absl//absl/status",
332        "@com_google_absl//absl/strings",
333    ],
334)
335
336cc_library(
337    name = "rsa_ssa_pkcs1_sign_boringssl",
338    srcs = ["rsa_ssa_pkcs1_sign_boringssl.cc"],
339    hdrs = ["rsa_ssa_pkcs1_sign_boringssl.h"],
340    include_prefix = "tink/subtle",
341    deps = [
342        ":common_enums",
343        ":subtle_util",
344        "//:public_key_sign",
345        "//internal:bn_util",
346        "//internal:err_util",
347        "//internal:fips_utils",
348        "//internal:md_util",
349        "//internal:rsa_util",
350        "//internal:ssl_unique_ptr",
351        "//internal:util",
352        "//util:statusor",
353        "@boringssl//:crypto",
354        "@com_google_absl//absl/memory",
355        "@com_google_absl//absl/status",
356        "@com_google_absl//absl/strings",
357    ],
358)
359
360cc_library(
361    name = "aes_gcm_boringssl",
362    srcs = ["aes_gcm_boringssl.cc"],
363    hdrs = ["aes_gcm_boringssl.h"],
364    include_prefix = "tink/subtle",
365    deps = [
366        "//:aead",
367        "//aead/internal:aead_from_zero_copy",
368        "//aead/internal:zero_copy_aead",
369        "//aead/internal:zero_copy_aes_gcm_boringssl",
370        "//internal:fips_utils",
371        "//util:secret_data",
372        "//util:status",
373        "//util:statusor",
374        "@com_google_absl//absl/memory",
375        "@com_google_absl//absl/strings",
376    ],
377)
378
379cc_library(
380    name = "aes_gcm_hkdf_stream_segment_decrypter",
381    srcs = ["aes_gcm_hkdf_stream_segment_decrypter.cc"],
382    hdrs = ["aes_gcm_hkdf_stream_segment_decrypter.h"],
383    include_prefix = "tink/subtle",
384    deps = [
385        ":aes_gcm_hkdf_stream_segment_encrypter",
386        ":common_enums",
387        ":hkdf",
388        ":random",
389        ":stream_segment_decrypter",
390        "//aead/internal:ssl_aead",
391        "//internal:err_util",
392        "//util:secret_data",
393        "//util:status",
394        "//util:statusor",
395        "@com_google_absl//absl/algorithm:container",
396        "@com_google_absl//absl/base:config",
397        "@com_google_absl//absl/memory",
398        "@com_google_absl//absl/status",
399        "@com_google_absl//absl/strings",
400        "@com_google_absl//absl/types:span",
401    ],
402)
403
404cc_library(
405    name = "aes_gcm_hkdf_stream_segment_encrypter",
406    srcs = ["aes_gcm_hkdf_stream_segment_encrypter.cc"],
407    hdrs = ["aes_gcm_hkdf_stream_segment_encrypter.h"],
408    include_prefix = "tink/subtle",
409    deps = [
410        ":random",
411        ":stream_segment_encrypter",
412        ":subtle_util",
413        "//aead/internal:ssl_aead",
414        "//internal:err_util",
415        "//util:secret_data",
416        "//util:status",
417        "//util:statusor",
418        "@com_google_absl//absl/algorithm:container",
419        "@com_google_absl//absl/base:config",
420        "@com_google_absl//absl/memory",
421        "@com_google_absl//absl/status",
422        "@com_google_absl//absl/strings",
423        "@com_google_absl//absl/types:span",
424    ],
425)
426
427cc_library(
428    name = "aes_gcm_hkdf_streaming",
429    srcs = ["aes_gcm_hkdf_streaming.cc"],
430    hdrs = ["aes_gcm_hkdf_streaming.h"],
431    include_prefix = "tink/subtle",
432    deps = [
433        ":aes_gcm_hkdf_stream_segment_decrypter",
434        ":aes_gcm_hkdf_stream_segment_encrypter",
435        ":common_enums",
436        ":hkdf",
437        ":nonce_based_streaming_aead",
438        ":random",
439        "//internal:fips_utils",
440        "//util:secret_data",
441        "//util:status",
442        "//util:statusor",
443        "@boringssl//:crypto",
444        "@com_google_absl//absl/memory",
445        "@com_google_absl//absl/status",
446    ],
447)
448
449cc_library(
450    name = "aes_ctr_hmac_streaming",
451    srcs = ["aes_ctr_hmac_streaming.cc"],
452    hdrs = ["aes_ctr_hmac_streaming.h"],
453    include_prefix = "tink/subtle",
454    deps = [
455        ":common_enums",
456        ":hkdf",
457        ":hmac_boringssl",
458        ":nonce_based_streaming_aead",
459        ":random",
460        ":stream_segment_decrypter",
461        ":stream_segment_encrypter",
462        ":subtle_util",
463        "//:mac",
464        "//internal:aes_util",
465        "//internal:fips_utils",
466        "//internal:ssl_unique_ptr",
467        "//util:errors",
468        "//util:secret_data",
469        "//util:status",
470        "//util:statusor",
471        "@boringssl//:crypto",
472        "@com_google_absl//absl/memory",
473        "@com_google_absl//absl/status",
474        "@com_google_absl//absl/strings",
475    ],
476)
477
478cc_library(
479    name = "aes_eax_boringssl",
480    srcs = ["aes_eax_boringssl.cc"],
481    hdrs = ["aes_eax_boringssl.h"],
482    include_prefix = "tink/subtle",
483    deps = [
484        ":random",
485        ":subtle_util",
486        "//:aead",
487        "//internal:aes_util",
488        "//internal:fips_utils",
489        "//internal:util",
490        "//util:errors",
491        "//util:secret_data",
492        "//util:status",
493        "//util:statusor",
494        "@boringssl//:crypto",
495        "@com_google_absl//absl/algorithm:container",
496        "@com_google_absl//absl/base:config",
497        "@com_google_absl//absl/memory",
498        "@com_google_absl//absl/status",
499        "@com_google_absl//absl/strings",
500        "@com_google_absl//absl/types:span",
501    ],
502)
503
504cc_library(
505    name = "encrypt_then_authenticate",
506    srcs = ["encrypt_then_authenticate.cc"],
507    hdrs = ["encrypt_then_authenticate.h"],
508    include_prefix = "tink/subtle",
509    deps = [
510        ":ind_cpa_cipher",
511        "//:aead",
512        "//:mac",
513        "//internal:util",
514        "//util:errors",
515        "//util:status",
516        "//util:statusor",
517        "@com_google_absl//absl/status",
518        "@com_google_absl//absl/strings",
519    ],
520)
521
522cc_library(
523    name = "aes_ctr_boringssl",
524    srcs = ["aes_ctr_boringssl.cc"],
525    hdrs = ["aes_ctr_boringssl.h"],
526    include_prefix = "tink/subtle",
527    deps = [
528        ":ind_cpa_cipher",
529        ":random",
530        ":subtle_util",
531        "//internal:aes_util",
532        "//internal:fips_utils",
533        "//internal:ssl_unique_ptr",
534        "//internal:util",
535        "//util:secret_data",
536        "//util:status",
537        "//util:statusor",
538        "@boringssl//:crypto",
539        "@com_google_absl//absl/memory",
540        "@com_google_absl//absl/status",
541    ],
542)
543
544cc_library(
545    name = "random",
546    srcs = ["random.cc"],
547    hdrs = ["random.h"],
548    include_prefix = "tink/subtle",
549    visibility = ["//visibility:public"],
550    deps = [
551        ":subtle_util",
552        "//util:secret_data",
553        "//util:status",
554        "@boringssl//:crypto",
555        "@com_google_absl//absl/status",
556        "@com_google_absl//absl/strings",
557        "@com_google_absl//absl/types:span",
558    ],
559)
560
561cc_library(
562    name = "xchacha20_poly1305_boringssl",
563    srcs = ["xchacha20_poly1305_boringssl.cc"],
564    hdrs = ["xchacha20_poly1305_boringssl.h"],
565    include_prefix = "tink/subtle",
566    tags = ["fips"],
567    deps = [
568        ":random",
569        ":subtle_util",
570        "//:aead",
571        "//aead/internal:ssl_aead",
572        "//internal:fips_utils",
573        "//internal:util",
574        "//util:errors",
575        "//util:secret_data",
576        "//util:status",
577        "//util:statusor",
578        "@com_google_absl//absl/memory",
579        "@com_google_absl//absl/status",
580        "@com_google_absl//absl/strings",
581        "@com_google_absl//absl/types:span",
582    ],
583)
584
585cc_library(
586    name = "aes_siv_boringssl",
587    srcs = ["aes_siv_boringssl.cc"],
588    hdrs = ["aes_siv_boringssl.h"],
589    include_prefix = "tink/subtle",
590    tags = ["fips"],
591    deps = [
592        ":subtle_util",
593        "//:deterministic_aead",
594        "//aead/internal:aead_util",
595        "//internal:aes_util",
596        "//internal:fips_utils",
597        "//internal:ssl_unique_ptr",
598        "//util:errors",
599        "//util:secret_data",
600        "//util:status",
601        "//util:statusor",
602        "@boringssl//:crypto",
603        "@com_google_absl//absl/memory",
604        "@com_google_absl//absl/status",
605        "@com_google_absl//absl/strings",
606        "@com_google_absl//absl/types:span",
607    ],
608)
609
610cc_library(
611    name = "aes_gcm_siv_boringssl",
612    srcs = ["aes_gcm_siv_boringssl.cc"],
613    hdrs = ["aes_gcm_siv_boringssl.h"],
614    include_prefix = "tink/subtle",
615    deps = [
616        ":random",
617        ":subtle_util",
618        "//:aead",
619        "//aead/internal:ssl_aead",
620        "//internal:fips_utils",
621        "//util:secret_data",
622        "//util:status",
623        "//util:statusor",
624        "@com_google_absl//absl/memory",
625        "@com_google_absl//absl/status",
626        "@com_google_absl//absl/strings",
627        "@com_google_absl//absl/types:span",
628    ],
629)
630
631cc_library(
632    name = "common_enums",
633    srcs = ["common_enums.cc"],
634    hdrs = ["common_enums.h"],
635    include_prefix = "tink/subtle",
636    deps = ["@com_google_absl//absl/strings"],
637)
638
639cc_library(
640    name = "subtle_util",
641    srcs = ["subtle_util.cc"],
642    hdrs = ["subtle_util.h"],
643    include_prefix = "tink/subtle",
644    visibility = ["//visibility:public"],
645)
646
647cc_library(
648    name = "subtle_util_boringssl",
649    hdrs = ["subtle_util_boringssl.h"],
650    include_prefix = "tink/subtle",
651    deps = [
652        ":common_enums",
653        "//aead/internal:aead_util",
654        "//internal:aes_util",
655        "//internal:bn_util",
656        "//internal:ec_util",
657        "//internal:err_util",
658        "//internal:md_util",
659        "//internal:rsa_util",
660        "//internal:ssl_unique_ptr",
661        "//internal:util",
662        "//util:secret_data",
663        "//util:status",
664        "//util:statusor",
665        "@boringssl//:crypto",
666        "@com_google_absl//absl/base:core_headers",
667        "@com_google_absl//absl/strings",
668    ],
669)
670
671cc_library(
672    name = "wycheproof_util",
673    testonly = 1,
674    srcs = ["wycheproof_util.cc"],
675    hdrs = ["wycheproof_util.h"],
676    include_prefix = "tink/subtle",
677    deps = [
678        ":common_enums",
679        "//internal:test_file_util",
680        "//util:status",
681        "//util:statusor",
682        "@com_google_absl//absl/status",
683        "@com_google_absl//absl/strings",
684        "@rapidjson",
685    ],
686)
687
688cc_library(
689    name = "stream_segment_decrypter",
690    hdrs = ["stream_segment_decrypter.h"],
691    include_prefix = "tink/subtle",
692    deps = ["//util:status"],
693)
694
695cc_library(
696    name = "stream_segment_encrypter",
697    hdrs = ["stream_segment_encrypter.h"],
698    include_prefix = "tink/subtle",
699    deps = ["//util:status"],
700)
701
702cc_library(
703    name = "streaming_aead_decrypting_stream",
704    srcs = ["streaming_aead_decrypting_stream.cc"],
705    hdrs = ["streaming_aead_decrypting_stream.h"],
706    include_prefix = "tink/subtle",
707    deps = [
708        ":stream_segment_decrypter",
709        "//:input_stream",
710        "//util:status",
711        "//util:statusor",
712        "@com_google_absl//absl/memory",
713        "@com_google_absl//absl/status",
714    ],
715)
716
717cc_library(
718    name = "streaming_aead_encrypting_stream",
719    srcs = ["streaming_aead_encrypting_stream.cc"],
720    hdrs = ["streaming_aead_encrypting_stream.h"],
721    include_prefix = "tink/subtle",
722    deps = [
723        ":stream_segment_encrypter",
724        "//:output_stream",
725        "//util:statusor",
726        "@com_google_absl//absl/memory",
727        "@com_google_absl//absl/status",
728    ],
729)
730
731cc_library(
732    name = "nonce_based_streaming_aead",
733    srcs = ["nonce_based_streaming_aead.cc"],
734    hdrs = ["nonce_based_streaming_aead.h"],
735    include_prefix = "tink/subtle",
736    deps = [
737        ":decrypting_random_access_stream",
738        ":stream_segment_decrypter",
739        ":stream_segment_encrypter",
740        ":streaming_aead_decrypting_stream",
741        ":streaming_aead_encrypting_stream",
742        "//:input_stream",
743        "//:output_stream",
744        "//:random_access_stream",
745        "//:streaming_aead",
746        "//util:statusor",
747        "@com_google_absl//absl/strings",
748    ],
749)
750
751cc_library(
752    name = "test_util",
753    testonly = 1,
754    srcs = ["test_util.cc"],
755    hdrs = ["test_util.h"],
756    include_prefix = "tink/subtle",
757    deps = [
758        ":nonce_based_streaming_aead",
759        ":stream_segment_decrypter",
760        ":stream_segment_encrypter",
761        "//:input_stream",
762        "//:output_stream",
763        "//util:status",
764        "//util:statusor",
765        "@com_google_absl//absl/memory",
766        "@com_google_absl//absl/status",
767        "@com_google_absl//absl/strings",
768    ],
769)
770
771cc_library(
772    name = "aead_test_util",
773    testonly = 1,
774    srcs = ["aead_test_util.cc"],
775    hdrs = ["aead_test_util.h"],
776    include_prefix = "tink/subtle",
777    deps = [
778        ":test_util",
779        "//:aead",
780        "//aead:cord_aead",
781        "//util:status",
782        "@com_google_absl//absl/strings",
783    ],
784)
785
786cc_library(
787    name = "streaming_aead_test_util",
788    testonly = 1,
789    srcs = ["streaming_aead_test_util.cc"],
790    hdrs = ["streaming_aead_test_util.h"],
791    include_prefix = "tink/subtle",
792    deps = [
793        ":test_util",
794        "//:random_access_stream",
795        "//:streaming_aead",
796        "//internal:test_random_access_stream",
797        "//util:buffer",
798        "//util:istream_input_stream",
799        "//util:ostream_output_stream",
800        "//util:status",
801        "@com_google_absl//absl/strings",
802    ],
803)
804
805cc_library(
806    name = "hybrid_test_util",
807    testonly = 1,
808    srcs = ["hybrid_test_util.cc"],
809    hdrs = ["hybrid_test_util.h"],
810    include_prefix = "tink/subtle",
811    deps = [
812        "//:hybrid_decrypt",
813        "//:hybrid_encrypt",
814        "//util:status",
815        "@com_google_absl//absl/status",
816    ],
817)
818
819cc_library(
820    name = "decrypting_random_access_stream",
821    srcs = ["decrypting_random_access_stream.cc"],
822    hdrs = ["decrypting_random_access_stream.h"],
823    include_prefix = "tink/subtle",
824    deps = [
825        ":stream_segment_decrypter",
826        "//:random_access_stream",
827        "//util:buffer",
828        "//util:errors",
829        "//util:status",
830        "//util:statusor",
831        "@com_google_absl//absl/base:core_headers",
832        "@com_google_absl//absl/memory",
833        "@com_google_absl//absl/status",
834        "@com_google_absl//absl/strings",
835        "@com_google_absl//absl/synchronization",
836    ],
837)
838
839cc_library(
840    name = "streaming_mac_impl",
841    srcs = ["streaming_mac_impl.cc"],
842    hdrs = ["streaming_mac_impl.h"],
843    include_prefix = "tink/subtle",
844    deps = [
845        "//:streaming_mac",
846        "//subtle/mac:stateful_mac",
847        "//util:status",
848        "@boringssl//:crypto",
849        "@com_google_absl//absl/memory",
850        "@com_google_absl//absl/status",
851    ],
852)
853
854cc_library(
855    name = "stateful_hmac_boringssl",
856    srcs = ["stateful_hmac_boringssl.cc"],
857    hdrs = ["stateful_hmac_boringssl.h"],
858    include_prefix = "tink/subtle",
859    deps = [
860        ":common_enums",
861        "//internal:md_util",
862        "//internal:ssl_unique_ptr",
863        "//internal:util",
864        "//subtle/mac:stateful_mac",
865        "//util:secret_data",
866        "//util:status",
867        "//util:statusor",
868        "@boringssl//:crypto",
869        "@com_google_absl//absl/memory",
870        "@com_google_absl//absl/status",
871    ],
872)
873
874cc_library(
875    name = "stateful_cmac_boringssl",
876    srcs = ["stateful_cmac_boringssl.cc"],
877    hdrs = ["stateful_cmac_boringssl.h"],
878    include_prefix = "tink/subtle",
879    deps = [
880        ":common_enums",
881        "//internal:aes_util",
882        "//internal:ssl_unique_ptr",
883        "//internal:util",
884        "//subtle/mac:stateful_mac",
885        "//util:secret_data",
886        "//util:status",
887        "//util:statusor",
888        "@boringssl//:crypto",
889        "@com_google_absl//absl/memory",
890        "@com_google_absl//absl/status",
891    ],
892)
893
894cc_library(
895    name = "pem_parser_boringssl",
896    srcs = ["pem_parser_boringssl.cc"],
897    hdrs = ["pem_parser_boringssl.h"],
898    include_prefix = "tink/subtle",
899    deps = [
900        ":common_enums",
901        ":subtle_util_boringssl",
902        "//internal:bn_util",
903        "//internal:ec_util",
904        "//internal:rsa_util",
905        "//internal:ssl_unique_ptr",
906        "//internal:ssl_util",
907        "//util:status",
908        "//util:statusor",
909        "@boringssl//:crypto",
910        "@com_google_absl//absl/memory",
911        "@com_google_absl//absl/status",
912        "@com_google_absl//absl/strings",
913    ],
914)
915
916# tests
917
918cc_test(
919    name = "ecies_hkdf_recipient_kem_boringssl_test",
920    size = "small",
921    srcs = ["ecies_hkdf_recipient_kem_boringssl_test.cc"],
922    tags = ["fips"],
923    deps = [
924        ":common_enums",
925        ":ecies_hkdf_recipient_kem_boringssl",
926        "//config:tink_fips",
927        "//util:secret_data",
928        "//util:status",
929        "//util:statusor",
930        "//util:test_matchers",
931        "@com_google_absl//absl/status",
932        "@com_google_absl//absl/strings",
933        "@com_google_googletest//:gtest_main",
934    ],
935)
936
937cc_test(
938    name = "ecies_hkdf_sender_kem_boringssl_test",
939    size = "small",
940    srcs = ["ecies_hkdf_sender_kem_boringssl_test.cc"],
941    tags = ["fips"],
942    deps = [
943        ":common_enums",
944        ":ecies_hkdf_recipient_kem_boringssl",
945        ":ecies_hkdf_sender_kem_boringssl",
946        "//config:tink_fips",
947        "//internal:ec_util",
948        "//util:secret_data",
949        "//util:status",
950        "//util:statusor",
951        "//util:test_matchers",
952        "@com_google_absl//absl/status",
953        "@com_google_absl//absl/strings",
954        "@com_google_googletest//:gtest_main",
955    ],
956)
957
958cc_test(
959    name = "hkdf_test",
960    size = "small",
961    srcs = ["hkdf_test.cc"],
962    deps = [
963        ":common_enums",
964        ":hkdf",
965        "//util:secret_data",
966        "//util:status",
967        "//util:statusor",
968        "@com_google_absl//absl/strings",
969        "@com_google_googletest//:gtest_main",
970    ],
971)
972
973cc_test(
974    name = "aes_cmac_boringssl_test",
975    size = "small",
976    srcs = ["aes_cmac_boringssl_test.cc"],
977    tags = ["fips"],
978    deps = [
979        ":aes_cmac_boringssl",
980        ":common_enums",
981        "//:mac",
982        "//config:tink_fips",
983        "//util:secret_data",
984        "//util:status",
985        "//util:statusor",
986        "//util:test_matchers",
987        "@com_google_absl//absl/status",
988        "@com_google_absl//absl/strings",
989        "@com_google_googletest//:gtest_main",
990    ],
991)
992
993cc_test(
994    name = "hmac_boringssl_test",
995    size = "small",
996    srcs = ["hmac_boringssl_test.cc"],
997    tags = ["fips"],
998    deps = [
999        ":common_enums",
1000        ":hmac_boringssl",
1001        "//:mac",
1002        "//internal:fips_utils",
1003        "//util:secret_data",
1004        "//util:status",
1005        "//util:statusor",
1006        "//util:test_matchers",
1007        "@com_google_absl//absl/status",
1008        "@com_google_absl//absl/strings",
1009        "@com_google_googletest//:gtest_main",
1010    ],
1011)
1012
1013cc_test(
1014    name = "aes_gcm_boringssl_test",
1015    size = "small",
1016    srcs = ["aes_gcm_boringssl_test.cc"],
1017    data = ["//testvectors:aes_gcm"],
1018    tags = ["fips"],
1019    deps = [
1020        ":aes_gcm_boringssl",
1021        "//aead/internal:wycheproof_aead",
1022        "//internal:fips_utils",
1023        "//util:secret_data",
1024        "//util:statusor",
1025        "//util:test_matchers",
1026        "@com_google_absl//absl/status",
1027        "@com_google_absl//absl/strings",
1028        "@com_google_googletest//:gtest_main",
1029    ],
1030)
1031
1032cc_test(
1033    name = "aes_gcm_hkdf_stream_segment_decrypter_test",
1034    size = "small",
1035    srcs = ["aes_gcm_hkdf_stream_segment_decrypter_test.cc"],
1036    deps = [
1037        ":aes_gcm_hkdf_stream_segment_decrypter",
1038        ":aes_gcm_hkdf_stream_segment_encrypter",
1039        ":common_enums",
1040        ":hkdf",
1041        ":random",
1042        ":stream_segment_encrypter",
1043        "//util:status",
1044        "//util:statusor",
1045        "//util:test_util",
1046        "@com_google_absl//absl/strings",
1047        "@com_google_googletest//:gtest_main",
1048    ],
1049)
1050
1051cc_test(
1052    name = "aes_gcm_hkdf_stream_segment_encrypter_test",
1053    size = "small",
1054    srcs = ["aes_gcm_hkdf_stream_segment_encrypter_test.cc"],
1055    deps = [
1056        ":aes_gcm_hkdf_stream_segment_encrypter",
1057        ":random",
1058        "//util:status",
1059        "//util:statusor",
1060        "//util:test_util",
1061        "@com_google_absl//absl/status",
1062        "@com_google_absl//absl/strings",
1063        "@com_google_googletest//:gtest_main",
1064    ],
1065)
1066
1067cc_test(
1068    name = "aes_gcm_hkdf_streaming_test",
1069    size = "small",
1070    srcs = ["aes_gcm_hkdf_streaming_test.cc"],
1071    tags = ["fips"],
1072    deps = [
1073        ":aes_gcm_hkdf_streaming",
1074        ":common_enums",
1075        ":random",
1076        ":streaming_aead_test_util",
1077        ":test_util",
1078        "//:output_stream",
1079        "//config:tink_fips",
1080        "//util:istream_input_stream",
1081        "//util:ostream_output_stream",
1082        "//util:status",
1083        "//util:statusor",
1084        "//util:test_matchers",
1085        "@com_google_absl//absl/memory",
1086        "@com_google_absl//absl/status",
1087        "@com_google_absl//absl/strings",
1088        "@com_google_googletest//:gtest_main",
1089    ],
1090)
1091
1092cc_test(
1093    name = "aes_ctr_hmac_streaming_test",
1094    size = "small",
1095    srcs = ["aes_ctr_hmac_streaming_test.cc"],
1096    tags = ["fips"],
1097    deps = [
1098        ":aes_ctr_hmac_streaming",
1099        ":common_enums",
1100        ":random",
1101        ":stream_segment_decrypter",
1102        ":stream_segment_encrypter",
1103        ":streaming_aead_test_util",
1104        "//config:tink_fips",
1105        "//util:status",
1106        "//util:statusor",
1107        "//util:test_matchers",
1108        "//util:test_util",
1109        "@com_google_absl//absl/status",
1110        "@com_google_absl//absl/strings",
1111        "@com_google_googletest//:gtest_main",
1112    ],
1113)
1114
1115cc_test(
1116    name = "aes_eax_boringssl_test",
1117    size = "small",
1118    srcs = ["aes_eax_boringssl_test.cc"],
1119    data = ["//testvectors:aes_eax"],
1120    tags = ["fips"],
1121    deps = [
1122        ":aes_eax_boringssl",
1123        ":wycheproof_util",
1124        "//config:tink_fips",
1125        "//util:secret_data",
1126        "//util:status",
1127        "//util:statusor",
1128        "//util:test_matchers",
1129        "//util:test_util",
1130        "@boringssl//:crypto",
1131        "@com_google_absl//absl/status",
1132        "@com_google_absl//absl/strings",
1133        "@com_google_googletest//:gtest_main",
1134    ],
1135)
1136
1137cc_test(
1138    name = "encrypt_then_authenticate_test",
1139    srcs = ["encrypt_then_authenticate_test.cc"],
1140    deps = [
1141        ":aes_ctr_boringssl",
1142        ":common_enums",
1143        ":encrypt_then_authenticate",
1144        ":hmac_boringssl",
1145        ":random",
1146        "//util:secret_data",
1147        "//util:status",
1148        "//util:statusor",
1149        "//util:test_util",
1150        "@com_google_absl//absl/strings",
1151        "@com_google_googletest//:gtest_main",
1152    ],
1153)
1154
1155cc_test(
1156    name = "aes_ctr_boringssl_test",
1157    size = "small",
1158    srcs = ["aes_ctr_boringssl_test.cc"],
1159    tags = ["fips"],
1160    deps = [
1161        ":aes_ctr_boringssl",
1162        ":random",
1163        "//internal:fips_utils",
1164        "//util:secret_data",
1165        "//util:status",
1166        "//util:statusor",
1167        "//util:test_matchers",
1168        "//util:test_util",
1169        "@com_google_absl//absl/status",
1170        "@com_google_googletest//:gtest_main",
1171    ],
1172)
1173
1174cc_test(
1175    name = "aes_siv_boringssl_test",
1176    size = "small",
1177    srcs = ["aes_siv_boringssl_test.cc"],
1178    data = ["//testvectors:aes_siv_cmac"],
1179    tags = ["fips"],
1180    deps = [
1181        ":aes_siv_boringssl",
1182        ":wycheproof_util",
1183        "//config:tink_fips",
1184        "//util:secret_data",
1185        "//util:status",
1186        "//util:statusor",
1187        "//util:test_matchers",
1188        "//util:test_util",
1189        "@com_google_absl//absl/status",
1190        "@com_google_googletest//:gtest_main",
1191    ],
1192)
1193
1194cc_test(
1195    name = "ecdsa_sign_boringssl_test",
1196    size = "small",
1197    srcs = ["ecdsa_sign_boringssl_test.cc"],
1198    tags = ["fips"],
1199    deps = [
1200        ":common_enums",
1201        ":ecdsa_sign_boringssl",
1202        ":ecdsa_verify_boringssl",
1203        ":subtle_util_boringssl",
1204        "//:public_key_sign",
1205        "//:public_key_verify",
1206        "//internal:ec_util",
1207        "//internal:fips_utils",
1208        "//util:status",
1209        "//util:statusor",
1210        "//util:test_matchers",
1211        "@com_google_absl//absl/status",
1212        "@com_google_googletest//:gtest_main",
1213    ],
1214)
1215
1216cc_test(
1217    name = "ecdsa_verify_boringssl_test",
1218    size = "small",
1219    srcs = ["ecdsa_verify_boringssl_test.cc"],
1220    data = [
1221        "//testvectors:ecdsa",
1222        "//testvectors:ecdsa_webcrypto",
1223    ],
1224    tags = ["fips"],
1225    deps = [
1226        ":common_enums",
1227        ":ecdsa_sign_boringssl",
1228        ":ecdsa_verify_boringssl",
1229        ":subtle_util_boringssl",
1230        ":wycheproof_util",
1231        "//:public_key_sign",
1232        "//:public_key_verify",
1233        "//internal:fips_utils",
1234        "//util:status",
1235        "//util:statusor",
1236        "//util:test_matchers",
1237        "//util:test_util",
1238        "@com_google_absl//absl/status",
1239        "@com_google_absl//absl/strings",
1240        "@com_google_googletest//:gtest_main",
1241        "@rapidjson",
1242    ],
1243)
1244
1245cc_test(
1246    name = "ed25519_sign_boringssl_test",
1247    size = "small",
1248    srcs = ["ed25519_sign_boringssl_test.cc"],
1249    tags = ["fips"],
1250    deps = [
1251        ":ed25519_sign_boringssl",
1252        ":ed25519_verify_boringssl",
1253        ":random",
1254        "//:public_key_sign",
1255        "//:public_key_verify",
1256        "//config:tink_fips",
1257        "//internal:ec_util",
1258        "//util:secret_data",
1259        "//util:status",
1260        "//util:statusor",
1261        "//util:test_matchers",
1262        "@boringssl//:crypto",
1263        "@com_google_absl//absl/status",
1264        "@com_google_absl//absl/strings",
1265        "@com_google_googletest//:gtest_main",
1266    ],
1267)
1268
1269cc_test(
1270    name = "ed25519_verify_boringssl_test",
1271    size = "small",
1272    srcs = ["ed25519_verify_boringssl_test.cc"],
1273    data = ["//testvectors:eddsa"],
1274    tags = ["fips"],
1275    deps = [
1276        ":ed25519_verify_boringssl",
1277        ":wycheproof_util",
1278        "//:public_key_verify",
1279        "//config:tink_fips",
1280        "//internal:ec_util",
1281        "//util:secret_data",
1282        "//util:status",
1283        "//util:statusor",
1284        "//util:test_matchers",
1285        "@boringssl//:crypto",
1286        "@com_google_absl//absl/status",
1287        "@com_google_absl//absl/strings",
1288        "@com_google_googletest//:gtest_main",
1289    ],
1290)
1291
1292cc_test(
1293    name = "rsa_ssa_pss_verify_boringssl_test",
1294    size = "small",
1295    srcs = ["rsa_ssa_pss_verify_boringssl_test.cc"],
1296    data = ["//testvectors:rsa_pss"],
1297    tags = ["fips"],
1298    deps = [
1299        ":common_enums",
1300        ":rsa_ssa_pss_verify_boringssl",
1301        ":wycheproof_util",
1302        "//:public_key_sign",
1303        "//:public_key_verify",
1304        "//internal:err_util",
1305        "//internal:fips_utils",
1306        "//internal:rsa_util",
1307        "//internal:ssl_unique_ptr",
1308        "//util:status",
1309        "//util:statusor",
1310        "//util:test_matchers",
1311        "@boringssl//:crypto",
1312        "@com_google_absl//absl/status",
1313        "@com_google_absl//absl/strings",
1314        "@com_google_googletest//:gtest_main",
1315        "@rapidjson",
1316    ],
1317)
1318
1319cc_test(
1320    name = "rsa_ssa_pss_sign_boringssl_test",
1321    srcs = ["rsa_ssa_pss_sign_boringssl_test.cc"],
1322    tags = ["fips"],
1323    deps = [
1324        ":rsa_ssa_pss_sign_boringssl",
1325        ":rsa_ssa_pss_verify_boringssl",
1326        "//internal:fips_utils",
1327        "//internal:rsa_util",
1328        "//internal:ssl_unique_ptr",
1329        "//util:test_matchers",
1330        "@boringssl//:crypto",
1331        "@com_google_absl//absl/status",
1332        "@com_google_absl//absl/strings",
1333        "@com_google_googletest//:gtest_main",
1334    ],
1335)
1336
1337cc_test(
1338    name = "rsa_ssa_pkcs1_verify_boringssl_test",
1339    size = "small",
1340    srcs = ["rsa_ssa_pkcs1_verify_boringssl_test.cc"],
1341    data = ["//testvectors:rsa_signature"],
1342    tags = ["fips"],
1343    deps = [
1344        ":common_enums",
1345        ":rsa_ssa_pkcs1_verify_boringssl",
1346        ":wycheproof_util",
1347        "//:public_key_sign",
1348        "//:public_key_verify",
1349        "//internal:err_util",
1350        "//internal:fips_utils",
1351        "//internal:rsa_util",
1352        "//internal:ssl_unique_ptr",
1353        "//util:status",
1354        "//util:statusor",
1355        "//util:test_matchers",
1356        "@boringssl//:crypto",
1357        "@com_google_absl//absl/status",
1358        "@com_google_absl//absl/strings",
1359        "@com_google_googletest//:gtest_main",
1360        "@rapidjson",
1361    ],
1362)
1363
1364cc_test(
1365    name = "rsa_ssa_pkcs1_sign_boringssl_test",
1366    srcs = ["rsa_ssa_pkcs1_sign_boringssl_test.cc"],
1367    tags = ["fips"],
1368    deps = [
1369        ":rsa_ssa_pkcs1_sign_boringssl",
1370        ":rsa_ssa_pkcs1_verify_boringssl",
1371        "//internal:fips_utils",
1372        "//internal:rsa_util",
1373        "//internal:ssl_unique_ptr",
1374        "//util:test_matchers",
1375        "@boringssl//:crypto",
1376        "@com_google_absl//absl/status",
1377        "@com_google_absl//absl/strings",
1378        "@com_google_googletest//:gtest_main",
1379    ],
1380)
1381
1382cc_test(
1383    name = "aes_gcm_siv_boringssl_test",
1384    size = "small",
1385    srcs = ["aes_gcm_siv_boringssl_test.cc"],
1386    data = ["//testvectors:aes_gcm_siv"],
1387    tags = ["fips"],
1388    deps = [
1389        ":aes_gcm_siv_boringssl",
1390        ":subtle_util",
1391        "//aead/internal:wycheproof_aead",
1392        "//config:tink_fips",
1393        "//internal:ssl_util",
1394        "//util:secret_data",
1395        "//util:status",
1396        "//util:statusor",
1397        "//util:test_matchers",
1398        "@com_google_absl//absl/status",
1399        "@com_google_absl//absl/strings",
1400        "@com_google_googletest//:gtest_main",
1401    ],
1402)
1403
1404cc_test(
1405    name = "random_test",
1406    size = "small",
1407    srcs = ["random_test.cc"],
1408    deps = [
1409        ":random",
1410        "//util:secret_data",
1411        "//util:test_matchers",
1412        "@com_google_absl//absl/container:flat_hash_set",
1413        "@com_google_absl//absl/types:span",
1414        "@com_google_googletest//:gtest_main",
1415    ],
1416)
1417
1418cc_test(
1419    name = "common_enums_test",
1420    size = "small",
1421    srcs = ["common_enums_test.cc"],
1422    deps = [
1423        ":common_enums",
1424        "@com_google_googletest//:gtest_main",
1425    ],
1426)
1427
1428cc_test(
1429    name = "subtle_util_test",
1430    size = "small",
1431    srcs = ["subtle_util_test.cc"],
1432    deps = [
1433        ":subtle_util",
1434        "@com_google_googletest//:gtest_main",
1435    ],
1436)
1437
1438cc_test(
1439    name = "xchacha20_poly1305_boringssl_test",
1440    size = "small",
1441    srcs = ["xchacha20_poly1305_boringssl_test.cc"],
1442    data = ["//testvectors:chacha20_poly1305"],
1443    tags = ["fips"],
1444    deps = [
1445        ":subtle_util",
1446        ":xchacha20_poly1305_boringssl",
1447        "//aead/internal:wycheproof_aead",
1448        "//config:tink_fips",
1449        "//internal:ssl_util",
1450        "//util:secret_data",
1451        "//util:status",
1452        "//util:statusor",
1453        "//util:test_matchers",
1454        "@com_google_absl//absl/status",
1455        "@com_google_absl//absl/strings",
1456        "@com_google_googletest//:gtest_main",
1457    ],
1458)
1459
1460cc_test(
1461    name = "streaming_aead_decrypting_stream_test",
1462    srcs = ["streaming_aead_decrypting_stream_test.cc"],
1463    deps = [
1464        ":random",
1465        ":stream_segment_decrypter",
1466        ":streaming_aead_decrypting_stream",
1467        ":test_util",
1468        "//:input_stream",
1469        "//util:istream_input_stream",
1470        "//util:status",
1471        "//util:statusor",
1472        "@com_google_absl//absl/memory",
1473        "@com_google_absl//absl/strings",
1474        "@com_google_googletest//:gtest_main",
1475    ],
1476)
1477
1478cc_test(
1479    name = "streaming_aead_encrypting_stream_test",
1480    srcs = ["streaming_aead_encrypting_stream_test.cc"],
1481    deps = [
1482        ":random",
1483        ":stream_segment_encrypter",
1484        ":streaming_aead_encrypting_stream",
1485        ":test_util",
1486        "//:output_stream",
1487        "//util:ostream_output_stream",
1488        "//util:status",
1489        "//util:statusor",
1490        "@com_google_absl//absl/memory",
1491        "@com_google_absl//absl/strings",
1492        "@com_google_googletest//:gtest_main",
1493    ],
1494)
1495
1496cc_test(
1497    name = "aead_test_util_test",
1498    srcs = ["aead_test_util_test.cc"],
1499    deps = [
1500        ":aead_test_util",
1501        "//util:test_matchers",
1502        "//util:test_util",
1503        "@com_google_googletest//:gtest_main",
1504    ],
1505)
1506
1507cc_test(
1508    name = "streaming_aead_test_util_test",
1509    srcs = ["streaming_aead_test_util_test.cc"],
1510    deps = [
1511        ":streaming_aead_test_util",
1512        "//util:test_matchers",
1513        "//util:test_util",
1514        "@com_google_absl//absl/status",
1515        "@com_google_googletest//:gtest_main",
1516    ],
1517)
1518
1519cc_test(
1520    name = "hybrid_test_util_test",
1521    srcs = ["hybrid_test_util_test.cc"],
1522    deps = [
1523        ":hybrid_test_util",
1524        "//util:test_matchers",
1525        "//util:test_util",
1526        "@com_google_googletest//:gtest_main",
1527    ],
1528)
1529
1530cc_test(
1531    name = "decrypting_random_access_stream_test",
1532    size = "small",
1533    srcs = ["decrypting_random_access_stream_test.cc"],
1534    deps = [
1535        ":decrypting_random_access_stream",
1536        ":random",
1537        ":test_util",
1538        "//:output_stream",
1539        "//:random_access_stream",
1540        "//:streaming_aead",
1541        "//internal:test_random_access_stream",
1542        "//util:ostream_output_stream",
1543        "//util:status",
1544        "//util:test_matchers",
1545        "@com_google_absl//absl/memory",
1546        "@com_google_absl//absl/status",
1547        "@com_google_absl//absl/strings",
1548        "@com_google_googletest//:gtest_main",
1549    ],
1550)
1551
1552cc_test(
1553    name = "streaming_mac_impl_test",
1554    size = "small",
1555    srcs = ["streaming_mac_impl_test.cc"],
1556    deps = [
1557        ":random",
1558        ":streaming_mac_impl",
1559        ":test_util",
1560        "//util:status",
1561        "//util:statusor",
1562        "//util:test_matchers",
1563        "//util:test_util",
1564        "@com_google_absl//absl/status",
1565        "@com_google_googletest//:gtest_main",
1566    ],
1567)
1568
1569cc_test(
1570    name = "stateful_hmac_boringssl_test",
1571    size = "small",
1572    srcs = ["stateful_hmac_boringssl_test.cc"],
1573    data = ["//testvectors:hmac"],
1574    deps = [
1575        ":common_enums",
1576        ":stateful_hmac_boringssl",
1577        ":wycheproof_util",
1578        "//util:secret_data",
1579        "//util:status",
1580        "//util:statusor",
1581        "//util:test_matchers",
1582        "//util:test_util",
1583        "@com_google_absl//absl/memory",
1584        "@com_google_absl//absl/status",
1585        "@com_google_googletest//:gtest_main",
1586    ],
1587)
1588
1589cc_test(
1590    name = "stateful_cmac_boringssl_test",
1591    size = "small",
1592    srcs = ["stateful_cmac_boringssl_test.cc"],
1593    data = ["//testvectors:aes_cmac"],
1594    deps = [
1595        ":common_enums",
1596        ":stateful_cmac_boringssl",
1597        ":wycheproof_util",
1598        "//subtle/mac:stateful_mac",
1599        "//util:secret_data",
1600        "//util:status",
1601        "//util:statusor",
1602        "//util:test_matchers",
1603        "@com_google_absl//absl/memory",
1604        "@com_google_absl//absl/status",
1605        "@com_google_absl//absl/strings",
1606        "@com_google_googletest//:gtest_main",
1607    ],
1608)
1609
1610cc_test(
1611    name = "pem_parser_boringssl_test",
1612    srcs = ["pem_parser_boringssl_test.cc"],
1613    deps = [
1614        ":pem_parser_boringssl",
1615        ":subtle_util_boringssl",
1616        "//internal:bn_util",
1617        "//internal:err_util",
1618        "//internal:rsa_util",
1619        "//internal:ssl_unique_ptr",
1620        "//internal:ssl_util",
1621        "//util:secret_data",
1622        "//util:status",
1623        "//util:statusor",
1624        "//util:test_matchers",
1625        "@boringssl//:crypto",
1626        "@com_google_absl//absl/status",
1627        "@com_google_absl//absl/strings",
1628        "@com_google_googletest//:gtest_main",
1629    ],
1630)
1631