xref: /aosp_15_r20/external/tink/cc/internal/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1package(default_visibility = ["//:__subpackages__"])
2
3licenses(["notice"])
4
5cc_library(
6    name = "ssl_util",
7    hdrs = ["ssl_util.h"],
8    include_prefix = "tink/internal",
9    deps = ["@boringssl//:crypto"],
10)
11
12cc_library(
13    name = "keyset_wrapper",
14    hdrs = ["keyset_wrapper.h"],
15    include_prefix = "tink/internal",
16    deps = [
17        "//proto:tink_cc_proto",
18        "//util:statusor",
19        "@com_google_absl//absl/container:flat_hash_map",
20    ],
21)
22
23cc_library(
24    name = "util",
25    srcs = ["util.cc"],
26    hdrs = ["util.h"],
27    include_prefix = "tink/internal",
28    deps = [
29        "@com_google_absl//absl/base:core_headers",
30        "@com_google_absl//absl/log",
31        "@com_google_absl//absl/strings",
32    ],
33)
34
35cc_library(
36    name = "test_file_util",
37    testonly = 1,
38    srcs = [
39        "test_file_util.cc",
40        "test_file_util_bazel.cc",
41    ],
42    hdrs = ["test_file_util.h"],
43    include_prefix = "tink/internal",
44    deps = [
45        "//subtle:random",
46        "//util:status",
47        "//util:test_util",
48        "@bazel_tools//tools/cpp/runfiles",
49        "@com_google_absl//absl/log:check",
50        "@com_google_absl//absl/strings",
51        "@com_google_googletest//:gtest",
52    ],
53)
54
55cc_library(
56    name = "keyset_wrapper_impl",
57    hdrs = ["keyset_wrapper_impl.h"],
58    include_prefix = "tink/internal",
59    deps = [
60        ":key_info",
61        ":keyset_wrapper",
62        "//:primitive_set",
63        "//:primitive_wrapper",
64        "//proto:tink_cc_proto",
65        "//util:status",
66        "//util:statusor",
67        "//util:validation",
68        "@com_google_absl//absl/container:flat_hash_map",
69        "@com_google_absl//absl/functional:any_invocable",
70    ],
71)
72
73cc_library(
74    name = "ssl_unique_ptr",
75    hdrs = ["ssl_unique_ptr.h"],
76    include_prefix = "tink/internal",
77    deps = ["@boringssl//:crypto"],
78)
79
80cc_library(
81    name = "key_info",
82    srcs = ["key_info.cc"],
83    hdrs = ["key_info.h"],
84    include_prefix = "tink/internal",
85    deps = ["//proto:tink_cc_proto"],
86)
87
88cc_library(
89    name = "registry_impl",
90    srcs = ["registry_impl.cc"],
91    hdrs = ["registry_impl.h"],
92    include_prefix = "tink/internal",
93    deps = [
94        ":fips_utils",
95        ":key_type_info_store",
96        ":keyset_wrapper",
97        ":keyset_wrapper_store",
98        "//:core/key_type_manager",
99        "//:core/private_key_type_manager",
100        "//:input_stream",
101        "//:key_manager",
102        "//:primitive_set",
103        "//:primitive_wrapper",
104        "//monitoring",
105        "//proto:tink_cc_proto",
106        "//util:errors",
107        "//util:status",
108        "//util:statusor",
109        "@com_google_absl//absl/base:core_headers",
110        "@com_google_absl//absl/container:flat_hash_map",
111        "@com_google_absl//absl/functional:any_invocable",
112        "@com_google_absl//absl/memory",
113        "@com_google_absl//absl/status",
114        "@com_google_absl//absl/strings",
115        "@com_google_absl//absl/synchronization",
116    ],
117)
118
119config_setting(
120    name = "fips_enabled",
121    flag_values = {"//config:use_only_fips": "True"},
122    visibility = ["//visibility:public"],
123)
124
125cc_library(
126    name = "fips_utils",
127    srcs = ["fips_utils.cc"],
128    hdrs = ["fips_utils.h"],
129    defines = select({
130        "fips_enabled": ["TINK_USE_ONLY_FIPS"],
131        "//conditions:default": [],
132    }),
133    include_prefix = "tink/internal",
134    deps = [
135        "//util:status",
136        "@boringssl//:crypto",
137        "@com_google_absl//absl/base:core_headers",
138        "@com_google_absl//absl/status",
139    ],
140)
141
142cc_library(
143    name = "err_util",
144    srcs = ["err_util.cc"],
145    hdrs = ["err_util.h"],
146    include_prefix = "tink/internal",
147    deps = ["@boringssl//:crypto"],
148)
149
150cc_library(
151    name = "bn_util",
152    srcs = ["bn_util.cc"],
153    hdrs = ["bn_util.h"],
154    include_prefix = "tink/internal",
155    deps = [
156        ":ssl_unique_ptr",
157        "//subtle:subtle_util",
158        "//util:secret_data",
159        "//util:status",
160        "//util:statusor",
161        "@boringssl//:crypto",
162        "@com_google_absl//absl/status",
163        "@com_google_absl//absl/strings",
164        "@com_google_absl//absl/types:span",
165    ],
166)
167
168cc_library(
169    name = "rsa_util",
170    srcs = ["rsa_util.cc"],
171    hdrs = ["rsa_util.h"],
172    include_prefix = "tink/internal",
173    deps = [
174        ":bn_util",
175        ":err_util",
176        ":fips_utils",
177        ":ssl_unique_ptr",
178        ":ssl_util",
179        "//config:tink_fips",
180        "//subtle:common_enums",
181        "//util:errors",
182        "//util:secret_data",
183        "//util:status",
184        "//util:statusor",
185        "@boringssl//:crypto",
186        "@com_google_absl//absl/status",
187        "@com_google_absl//absl/status:statusor",
188        "@com_google_absl//absl/strings",
189    ],
190)
191
192cc_library(
193    name = "ec_util",
194    srcs = ["ec_util.cc"],
195    hdrs = ["ec_util.h"],
196    include_prefix = "tink/internal",
197    deps = [
198        ":bn_util",
199        ":err_util",
200        ":fips_utils",
201        ":ssl_unique_ptr",
202        "//subtle:common_enums",
203        "//subtle:random",
204        "//subtle:subtle_util",
205        "//util:secret_data",
206        "//util:status",
207        "//util:statusor",
208        "@boringssl//:crypto",
209        "@com_google_absl//absl/memory",
210        "@com_google_absl//absl/status",
211        "@com_google_absl//absl/strings",
212        "@com_google_absl//absl/types:span",
213    ],
214)
215
216cc_library(
217    name = "md_util",
218    srcs = ["md_util.cc"],
219    hdrs = ["md_util.h"],
220    include_prefix = "tink/internal",
221    deps = [
222        ":err_util",
223        ":util",
224        "//subtle:common_enums",
225        "//subtle:subtle_util",
226        "//util:status",
227        "//util:statusor",
228        "@boringssl//:crypto",
229        "@com_google_absl//absl/status",
230        "@com_google_absl//absl/strings",
231    ],
232)
233
234cc_test(
235    name = "util_test",
236    srcs = ["util_test.cc"],
237    deps = [
238        ":util",
239        "@com_google_absl//absl/strings",
240        "@com_google_googletest//:gtest_main",
241    ],
242)
243
244cc_test(
245    name = "keyset_wrapper_impl_test",
246    srcs = ["keyset_wrapper_impl_test.cc"],
247    deps = [
248        ":keyset_wrapper_impl",
249        "//:primitive_set",
250        "//:primitive_wrapper",
251        "//proto:tink_cc_proto",
252        "//util:status",
253        "//util:statusor",
254        "//util:test_matchers",
255        "//util:test_util",
256        "@com_google_absl//absl/container:flat_hash_map",
257        "@com_google_absl//absl/memory",
258        "@com_google_absl//absl/status",
259        "@com_google_absl//absl/strings",
260        "@com_google_googletest//:gtest_main",
261    ],
262)
263
264cc_test(
265    name = "key_info_test",
266    srcs = ["key_info_test.cc"],
267    deps = [
268        ":key_info",
269        "//proto:tink_cc_proto",
270        "@com_google_googletest//:gtest_main",
271        "@com_google_protobuf//:protobuf",
272    ],
273)
274
275cc_test(
276    name = "registry_impl_test",
277    size = "small",
278    srcs = ["registry_impl_test.cc"],
279    tags = ["fips"],
280    deps = [
281        ":fips_utils",
282        ":registry_impl",
283        "//:aead",
284        "//:core/key_manager_impl",
285        "//:core/key_type_manager",
286        "//:core/private_key_manager_impl",
287        "//:core/private_key_type_manager",
288        "//:core/template_util",
289        "//:hybrid_decrypt",
290        "//:input_stream",
291        "//:key_manager",
292        "//:mac",
293        "//:primitive_set",
294        "//:primitive_wrapper",
295        "//:registry",
296        "//aead:aead_wrapper",
297        "//aead:aes_gcm_key_manager",
298        "//hybrid:ecies_aead_hkdf_private_key_manager",
299        "//hybrid:ecies_aead_hkdf_public_key_manager",
300        "//monitoring:monitoring_client_mocks",
301        "//proto:aes_ctr_hmac_aead_cc_proto",
302        "//proto:aes_gcm_cc_proto",
303        "//proto:common_cc_proto",
304        "//proto:ecdsa_cc_proto",
305        "//proto:ecies_aead_hkdf_cc_proto",
306        "//proto:tink_cc_proto",
307        "//subtle:aes_gcm_boringssl",
308        "//subtle:random",
309        "//util:input_stream_util",
310        "//util:istream_input_stream",
311        "//util:protobuf_helper",
312        "//util:secret_data",
313        "//util:status",
314        "//util:statusor",
315        "//util:test_matchers",
316        "//util:test_util",
317        "@boringssl//:crypto",
318        "@com_google_absl//absl/memory",
319        "@com_google_absl//absl/status",
320        "@com_google_absl//absl/status:statusor",
321        "@com_google_absl//absl/strings",
322        "@com_google_googletest//:gtest_main",
323    ],
324)
325
326cc_test(
327    name = "fips_utils_test",
328    size = "small",
329    srcs = ["fips_utils_test.cc"],
330    tags = ["fips"],
331    deps = [
332        ":fips_utils",
333        "//util:status",
334        "//util:test_matchers",
335        "@boringssl//:crypto",
336        "@com_google_absl//absl/status",
337        "@com_google_googletest//:gtest_main",
338    ],
339)
340
341cc_test(
342    name = "err_util_test",
343    size = "small",
344    srcs = ["err_util_test.cc"],
345    deps = [
346        ":err_util",
347        "@boringssl//:crypto",
348        "@com_google_absl//absl/strings",
349        "@com_google_googletest//:gtest_main",
350    ],
351)
352
353cc_test(
354    name = "bn_util_test",
355    size = "small",
356    srcs = ["bn_util_test.cc"],
357    deps = [
358        ":bn_util",
359        ":ssl_unique_ptr",
360        "//util:secret_data",
361        "//util:status",
362        "//util:statusor",
363        "//util:test_matchers",
364        "@boringssl//:crypto",
365        "@com_google_absl//absl/strings",
366        "@com_google_absl//absl/types:span",
367        "@com_google_googletest//:gtest_main",
368    ],
369)
370
371cc_test(
372    name = "rsa_util_test",
373    srcs = ["rsa_util_test.cc"],
374    deps = [
375        ":bn_util",
376        ":rsa_util",
377        ":ssl_unique_ptr",
378        "//subtle:random",
379        "//util:secret_data",
380        "//util:status",
381        "//util:statusor",
382        "//util:test_matchers",
383        "@boringssl//:crypto",
384        "@com_google_absl//absl/status",
385        "@com_google_absl//absl/strings",
386        "@com_google_googletest//:gtest_main",
387    ],
388)
389
390cc_test(
391    name = "ec_util_test",
392    srcs = ["ec_util_test.cc"],
393    data = [
394        "//testvectors:ecdh",
395        "//testvectors:ecdsa_webcrypto",
396        "//testvectors:eddsa",
397    ],
398    deps = [
399        ":bn_util",
400        ":ec_util",
401        ":fips_utils",
402        ":ssl_unique_ptr",
403        ":ssl_util",
404        "//subtle:common_enums",
405        "//subtle:subtle_util",
406        "//subtle:wycheproof_util",
407        "//util:secret_data",
408        "//util:status",
409        "//util:statusor",
410        "//util:test_matchers",
411        "@boringssl//:crypto",
412        "@com_google_absl//absl/status",
413        "@com_google_absl//absl/strings",
414        "@com_google_absl//absl/types:span",
415        "@com_google_googletest//:gtest_main",
416        "@rapidjson",
417    ],
418)
419
420cc_test(
421    name = "md_util_test",
422    size = "small",
423    srcs = ["md_util_test.cc"],
424    deps = [
425        ":md_util",
426        "//subtle:common_enums",
427        "//util:status",
428        "//util:statusor",
429        "//util:test_matchers",
430        "@boringssl//:crypto",
431        "@com_google_absl//absl/strings",
432        "@com_google_googletest//:gtest_main",
433    ],
434)
435
436cc_library(
437    name = "aes_util",
438    srcs = ["aes_util.cc"],
439    hdrs = ["aes_util.h"],
440    include_prefix = "tink/internal",
441    deps = [
442        ":util",
443        "//util:secret_data",
444        "//util:status",
445        "//util:statusor",
446        "@boringssl//:crypto",
447        "@com_google_absl//absl/status",
448        "@com_google_absl//absl/strings",
449        "@com_google_absl//absl/types:span",
450    ],
451)
452
453cc_test(
454    name = "aes_util_test",
455    size = "small",
456    srcs = ["aes_util_test.cc"],
457    deps = [
458        ":aes_util",
459        "//subtle:subtle_util",
460        "//util:secret_data",
461        "//util:status",
462        "//util:statusor",
463        "//util:test_matchers",
464        "@boringssl//:crypto",
465        "@com_google_absl//absl/status",
466        "@com_google_absl//absl/strings",
467        "@com_google_absl//absl/types:span",
468        "@com_google_googletest//:gtest_main",
469    ],
470)
471
472cc_library(
473    name = "monitoring_util",
474    hdrs = ["monitoring_util.h"],
475    include_prefix = "tink/internal",
476    deps = [
477        ":key_status_util",
478        "//:key_status",
479        "//:primitive_set",
480        "//monitoring",
481        "//proto:tink_cc_proto",
482        "//util:status",
483        "//util:statusor",
484        "@com_google_absl//absl/container:flat_hash_map",
485        "@com_google_absl//absl/status",
486        "@com_google_absl//absl/strings",
487    ],
488)
489
490cc_test(
491    name = "monitoring_util_test",
492    srcs = ["monitoring_util_test.cc"],
493    deps = [
494        ":monitoring_util",
495        "//:key_status",
496        "//:primitive_set",
497        "//monitoring",
498        "//proto:tink_cc_proto",
499        "//util:status",
500        "//util:statusor",
501        "//util:test_matchers",
502        "@com_google_absl//absl/container:flat_hash_map",
503        "@com_google_absl//absl/memory",
504        "@com_google_absl//absl/status",
505        "@com_google_absl//absl/strings",
506        "@com_google_googletest//:gtest_main",
507    ],
508)
509
510cc_library(
511    name = "serialization",
512    hdrs = ["serialization.h"],
513    include_prefix = "tink/internal",
514    deps = ["@com_google_absl//absl/strings"],
515)
516
517cc_library(
518    name = "proto_parameters_serialization",
519    srcs = ["proto_parameters_serialization.cc"],
520    hdrs = ["proto_parameters_serialization.h"],
521    include_prefix = "tink/internal",
522    deps = [
523        ":serialization",
524        ":util",
525        "//proto:tink_cc_proto",
526        "//util:status",
527        "//util:statusor",
528        "@com_google_absl//absl/status",
529        "@com_google_absl//absl/strings",
530    ],
531)
532
533cc_test(
534    name = "proto_parameters_serialization_test",
535    srcs = ["proto_parameters_serialization_test.cc"],
536    deps = [
537        ":proto_parameters_serialization",
538        "//proto:test_proto_cc_proto",
539        "//proto:tink_cc_proto",
540        "//util:statusor",
541        "//util:test_matchers",
542        "@com_google_googletest//:gtest_main",
543    ],
544)
545
546cc_library(
547    name = "proto_key_serialization",
548    srcs = ["proto_key_serialization.cc"],
549    hdrs = ["proto_key_serialization.h"],
550    include_prefix = "tink/internal",
551    deps = [
552        ":serialization",
553        ":util",
554        "//:restricted_data",
555        "//proto:tink_cc_proto",
556        "//util:status",
557        "//util:statusor",
558        "@com_google_absl//absl/status",
559        "@com_google_absl//absl/strings",
560        "@com_google_absl//absl/types:optional",
561    ],
562)
563
564cc_test(
565    name = "proto_key_serialization_test",
566    srcs = ["proto_key_serialization_test.cc"],
567    deps = [
568        ":proto_key_serialization",
569        "//:insecure_secret_key_access",
570        "//:restricted_data",
571        "//proto:tink_cc_proto",
572        "//util:statusor",
573        "//util:test_matchers",
574        "@com_google_absl//absl/status",
575        "@com_google_absl//absl/types:optional",
576        "@com_google_googletest//:gtest_main",
577    ],
578)
579
580cc_library(
581    name = "legacy_proto_parameters",
582    srcs = ["legacy_proto_parameters.cc"],
583    hdrs = ["legacy_proto_parameters.h"],
584    include_prefix = "tink/internal",
585    deps = [
586        ":proto_parameters_serialization",
587        "//:parameters",
588        "//proto:tink_cc_proto",
589    ],
590)
591
592cc_test(
593    name = "legacy_proto_parameters_test",
594    srcs = ["legacy_proto_parameters_test.cc"],
595    deps = [
596        ":legacy_proto_parameters",
597        ":proto_parameters_serialization",
598        "//:parameters",
599        "//proto:test_proto_cc_proto",
600        "//proto:tink_cc_proto",
601        "//util:statusor",
602        "//util:test_matchers",
603        "@com_google_googletest//:gtest_main",
604    ],
605)
606
607cc_library(
608    name = "legacy_proto_key",
609    srcs = ["legacy_proto_key.cc"],
610    hdrs = ["legacy_proto_key.h"],
611    include_prefix = "tink/internal",
612    deps = [
613        ":proto_key_serialization",
614        "//:key",
615        "//:parameters",
616        "//:secret_key_access_token",
617        "//proto:tink_cc_proto",
618        "//util:status",
619        "//util:statusor",
620        "@com_google_absl//absl/status",
621        "@com_google_absl//absl/strings",
622        "@com_google_absl//absl/types:optional",
623    ],
624)
625
626cc_test(
627    name = "legacy_proto_key_test",
628    srcs = ["legacy_proto_key_test.cc"],
629    deps = [
630        ":legacy_proto_key",
631        ":proto_key_serialization",
632        "//:insecure_secret_key_access",
633        "//:key",
634        "//:parameters",
635        "//:restricted_data",
636        "//:secret_key_access_token",
637        "//proto:tink_cc_proto",
638        "//util:statusor",
639        "//util:test_matchers",
640        "@com_google_absl//absl/status",
641        "@com_google_absl//absl/types:optional",
642        "@com_google_googletest//:gtest_main",
643    ],
644)
645
646cc_library(
647    name = "parser_index",
648    hdrs = ["parser_index.h"],
649    include_prefix = "tink/internal",
650    deps = [
651        ":serialization",
652        "@com_google_absl//absl/strings",
653    ],
654)
655
656cc_test(
657    name = "parser_index_test",
658    srcs = ["parser_index_test.cc"],
659    deps = [
660        ":parser_index",
661        ":serialization",
662        "@com_google_absl//absl/strings",
663        "@com_google_googletest//:gtest_main",
664    ],
665)
666
667cc_library(
668    name = "serializer_index",
669    hdrs = ["serializer_index.h"],
670    include_prefix = "tink/internal",
671    deps = [
672        ":serialization",
673        "//:key",
674        "//:parameters",
675    ],
676)
677
678cc_test(
679    name = "serializer_index_test",
680    srcs = ["serializer_index_test.cc"],
681    deps = [
682        ":serialization_test_util",
683        ":serializer_index",
684        "@com_google_googletest//:gtest_main",
685    ],
686)
687
688cc_library(
689    name = "parameters_parser",
690    hdrs = ["parameters_parser.h"],
691    include_prefix = "tink/internal",
692    deps = [
693        ":parser_index",
694        ":serialization",
695        "//:parameters",
696        "//util:status",
697        "//util:statusor",
698        "@com_google_absl//absl/status",
699        "@com_google_absl//absl/strings",
700    ],
701)
702
703cc_test(
704    name = "parameters_parser_test",
705    srcs = ["parameters_parser_test.cc"],
706    deps = [
707        ":parameters_parser",
708        ":parser_index",
709        ":serialization",
710        ":serialization_test_util",
711        "//:parameters",
712        "//util:statusor",
713        "//util:test_matchers",
714        "@com_google_absl//absl/memory",
715        "@com_google_absl//absl/status",
716        "@com_google_googletest//:gtest_main",
717    ],
718)
719
720cc_library(
721    name = "parameters_serializer",
722    hdrs = ["parameters_serializer.h"],
723    include_prefix = "tink/internal",
724    deps = [
725        ":serialization",
726        ":serializer_index",
727        "//:parameters",
728        "//util:status",
729        "//util:statusor",
730        "@com_google_absl//absl/status",
731        "@com_google_absl//absl/strings",
732    ],
733)
734
735cc_test(
736    name = "parameters_serializer_test",
737    srcs = ["parameters_serializer_test.cc"],
738    deps = [
739        ":parameters_serializer",
740        ":serialization",
741        ":serialization_test_util",
742        ":serializer_index",
743        "//:parameters",
744        "//util:statusor",
745        "//util:test_matchers",
746        "@com_google_absl//absl/memory",
747        "@com_google_absl//absl/status",
748        "@com_google_googletest//:gtest_main",
749    ],
750)
751
752cc_library(
753    name = "key_parser",
754    hdrs = ["key_parser.h"],
755    include_prefix = "tink/internal",
756    deps = [
757        ":parser_index",
758        ":serialization",
759        "//:key",
760        "//:secret_key_access_token",
761        "//util:status",
762        "//util:statusor",
763        "@com_google_absl//absl/functional:function_ref",
764        "@com_google_absl//absl/log",
765        "@com_google_absl//absl/status",
766        "@com_google_absl//absl/strings",
767        "@com_google_absl//absl/types:optional",
768    ],
769)
770
771cc_test(
772    name = "key_parser_test",
773    srcs = ["key_parser_test.cc"],
774    deps = [
775        ":key_parser",
776        ":parser_index",
777        ":serialization",
778        ":serialization_test_util",
779        "//:insecure_secret_key_access",
780        "//:key",
781        "//:parameters",
782        "//util:statusor",
783        "//util:test_matchers",
784        "@com_google_absl//absl/memory",
785        "@com_google_absl//absl/status",
786        "@com_google_absl//absl/types:optional",
787        "@com_google_googletest//:gtest_main",
788    ],
789)
790
791cc_library(
792    name = "key_serializer",
793    hdrs = ["key_serializer.h"],
794    include_prefix = "tink/internal",
795    deps = [
796        ":serialization",
797        ":serializer_index",
798        "//:key",
799        "//:secret_key_access_token",
800        "//util:status",
801        "//util:statusor",
802        "@com_google_absl//absl/functional:function_ref",
803        "@com_google_absl//absl/log",
804        "@com_google_absl//absl/status",
805        "@com_google_absl//absl/types:optional",
806    ],
807)
808
809cc_test(
810    name = "key_serializer_test",
811    srcs = ["key_serializer_test.cc"],
812    deps = [
813        ":key_serializer",
814        ":serialization",
815        ":serialization_test_util",
816        ":serializer_index",
817        "//:insecure_secret_key_access",
818        "//:key",
819        "//:secret_key_access_token",
820        "//util:statusor",
821        "//util:test_matchers",
822        "@com_google_absl//absl/memory",
823        "@com_google_absl//absl/status",
824        "@com_google_googletest//:gtest_main",
825    ],
826)
827
828cc_library(
829    name = "key_status_util",
830    srcs = ["key_status_util.cc"],
831    hdrs = ["key_status_util.h"],
832    include_prefix = "tink/internal",
833    deps = [
834        "//:key_status",
835        "//proto:tink_cc_proto",
836        "//util:status",
837        "//util:statusor",
838        "@com_google_absl//absl/status",
839    ],
840)
841
842cc_test(
843    name = "key_status_util_test",
844    srcs = ["key_status_util_test.cc"],
845    deps = [
846        ":key_status_util",
847        "//:key_status",
848        "//proto:tink_cc_proto",
849        "//util:statusor",
850        "//util:test_matchers",
851        "@com_google_absl//absl/status",
852        "@com_google_googletest//:gtest_main",
853    ],
854)
855
856cc_library(
857    name = "keyset_handle_builder_entry",
858    srcs = ["keyset_handle_builder_entry.cc"],
859    hdrs = ["keyset_handle_builder_entry.h"],
860    include_prefix = "tink/internal",
861    deps = [
862        ":key_status_util",
863        ":legacy_proto_key",
864        ":legacy_proto_parameters",
865        ":mutable_serialization_registry",
866        ":proto_key_serialization",
867        ":proto_parameters_serialization",
868        ":serialization",
869        "//:insecure_secret_key_access",
870        "//:key",
871        "//:key_status",
872        "//:parameters",
873        "//:registry",
874        "//:restricted_data",
875        "//:secret_key_access_token",
876        "//proto:tink_cc_proto",
877        "//util:status",
878        "//util:statusor",
879        "@com_google_absl//absl/status",
880        "@com_google_absl//absl/strings",
881        "@com_google_absl//absl/types:optional",
882    ],
883)
884
885cc_test(
886    name = "keyset_handle_builder_entry_test",
887    srcs = ["keyset_handle_builder_entry_test.cc"],
888    deps = [
889        ":keyset_handle_builder_entry",
890        ":legacy_proto_key",
891        ":legacy_proto_parameters",
892        ":proto_key_serialization",
893        ":proto_parameters_serialization",
894        "//:insecure_secret_key_access",
895        "//:key",
896        "//:key_status",
897        "//:keyset_handle",
898        "//:keyset_handle_builder",
899        "//:parameters",
900        "//:partial_key_access",
901        "//:restricted_data",
902        "//:secret_key_access_token",
903        "//config:tink_config",
904        "//mac:aes_cmac_key",
905        "//mac:aes_cmac_parameters",
906        "//mac:mac_key_templates",
907        "//proto:tink_cc_proto",
908        "//util:status",
909        "//util:statusor",
910        "//util:test_matchers",
911        "@com_google_absl//absl/memory",
912        "@com_google_absl//absl/status",
913        "@com_google_absl//absl/types:optional",
914        "@com_google_googletest//:gtest_main",
915    ],
916)
917
918cc_library(
919    name = "serialization_registry",
920    srcs = ["serialization_registry.cc"],
921    hdrs = ["serialization_registry.h"],
922    include_prefix = "tink/internal",
923    deps = [
924        ":key_parser",
925        ":key_serializer",
926        ":parameters_parser",
927        ":parameters_serializer",
928        ":parser_index",
929        ":serialization",
930        ":serializer_index",
931        "//:key",
932        "//:parameters",
933        "//util:status",
934        "//util:statusor",
935        "@com_google_absl//absl/container:flat_hash_map",
936        "@com_google_absl//absl/status",
937        "@com_google_absl//absl/strings:str_format",
938        "@com_google_absl//absl/types:optional",
939    ],
940)
941
942cc_test(
943    name = "serialization_registry_test",
944    srcs = ["serialization_registry_test.cc"],
945    deps = [
946        ":key_parser",
947        ":key_serializer",
948        ":parameters_parser",
949        ":parameters_serializer",
950        ":serialization",
951        ":serialization_registry",
952        ":serialization_test_util",
953        "//:insecure_secret_key_access",
954        "//:key",
955        "//:parameters",
956        "//:secret_key_access_token",
957        "//util:status",
958        "//util:statusor",
959        "//util:test_matchers",
960        "@com_google_absl//absl/status",
961        "@com_google_googletest//:gtest_main",
962    ],
963)
964
965cc_library(
966    name = "mutable_serialization_registry",
967    srcs = ["mutable_serialization_registry.cc"],
968    hdrs = ["mutable_serialization_registry.h"],
969    include_prefix = "tink/internal",
970    deps = [
971        ":key_parser",
972        ":key_serializer",
973        ":legacy_proto_key",
974        ":parameters_parser",
975        ":parameters_serializer",
976        ":proto_key_serialization",
977        ":serialization",
978        ":serialization_registry",
979        "//:insecure_secret_key_access",
980        "//:key",
981        "//:parameters",
982        "//:secret_key_access_token",
983        "//util:status",
984        "//util:statusor",
985        "@com_google_absl//absl/base:core_headers",
986        "@com_google_absl//absl/memory",
987        "@com_google_absl//absl/status",
988        "@com_google_absl//absl/synchronization",
989        "@com_google_absl//absl/types:optional",
990    ],
991)
992
993cc_test(
994    name = "mutable_serialization_registry_test",
995    srcs = ["mutable_serialization_registry_test.cc"],
996    deps = [
997        ":key_parser",
998        ":key_serializer",
999        ":mutable_serialization_registry",
1000        ":parameters_parser",
1001        ":parameters_serializer",
1002        ":proto_key_serialization",
1003        ":serialization",
1004        ":serialization_test_util",
1005        "//:insecure_secret_key_access",
1006        "//:key",
1007        "//:parameters",
1008        "//:restricted_data",
1009        "//:secret_key_access_token",
1010        "//proto:tink_cc_proto",
1011        "//util:status",
1012        "//util:statusor",
1013        "//util:test_matchers",
1014        "@com_google_absl//absl/status",
1015        "@com_google_absl//absl/types:optional",
1016        "@com_google_googletest//:gtest_main",
1017    ],
1018)
1019
1020cc_library(
1021    name = "serialization_test_util",
1022    testonly = 1,
1023    hdrs = ["serialization_test_util.h"],
1024    include_prefix = "tink/internal",
1025    deps = [
1026        ":serialization",
1027        "//:key",
1028        "//:parameters",
1029        "//:secret_key_access_token",
1030        "//util:statusor",
1031        "@com_google_absl//absl/strings",
1032        "@com_google_absl//absl/types:optional",
1033    ],
1034)
1035
1036cc_test(
1037    name = "serialization_test_util_test",
1038    srcs = ["serialization_test_util_test.cc"],
1039    deps = [
1040        ":serialization_test_util",
1041        "//:insecure_secret_key_access",
1042        "//:parameters",
1043        "//util:statusor",
1044        "//util:test_matchers",
1045        "@com_google_absl//absl/types:optional",
1046        "@com_google_googletest//:gtest_main",
1047    ],
1048)
1049
1050cc_library(
1051    name = "test_random_access_stream",
1052    testonly = 1,
1053    srcs = ["test_random_access_stream.cc"],
1054    hdrs = ["test_random_access_stream.h"],
1055    include_prefix = "tink/internal",
1056    deps = [
1057        "//:random_access_stream",
1058        "//util:buffer",
1059        "//util:status",
1060        "//util:statusor",
1061        "@com_google_absl//absl/status",
1062        "@com_google_absl//absl/strings",
1063    ],
1064)
1065
1066cc_test(
1067    name = "test_random_access_stream_test",
1068    srcs = ["test_random_access_stream_test.cc"],
1069    deps = [
1070        ":test_random_access_stream",
1071        "//subtle:random",
1072        "//util:buffer",
1073        "//util:status",
1074        "//util:test_matchers",
1075        "@com_google_absl//absl/status",
1076        "@com_google_googletest//:gtest_main",
1077    ],
1078)
1079
1080cc_library(
1081    name = "configuration_impl",
1082    hdrs = ["configuration_impl.h"],
1083    include_prefix = "tink/internal",
1084    deps = [
1085        ":key_type_info_store",
1086        ":keyset_wrapper_store",
1087        "//:configuration",
1088    ],
1089)
1090
1091cc_test(
1092    name = "configuration_impl_test",
1093    srcs = ["configuration_impl_test.cc"],
1094    deps = [
1095        ":configuration_impl",
1096        ":keyset_wrapper_store",
1097        "//:cleartext_keyset_handle",
1098        "//:configuration",
1099        "//proto:aes_gcm_cc_proto",
1100        "//proto:rsa_ssa_pss_cc_proto",
1101        "//subtle:random",
1102        "//util:test_matchers",
1103        "//util:test_util",
1104        "@com_google_absl//absl/status",
1105        "@com_google_googletest//:gtest_main",
1106    ],
1107)
1108
1109cc_library(
1110    name = "key_type_info_store",
1111    srcs = ["key_type_info_store.cc"],
1112    hdrs = ["key_type_info_store.h"],
1113    include_prefix = "tink/internal",
1114    deps = [
1115        ":fips_utils",
1116        "//:core/key_manager_impl",
1117        "//:core/key_type_manager",
1118        "//:core/private_key_manager_impl",
1119        "//:core/private_key_type_manager",
1120        "//:key_manager",
1121        "//util:status",
1122        "//util:statusor",
1123        "@com_google_absl//absl/container:flat_hash_map",
1124        "@com_google_absl//absl/status",
1125        "@com_google_absl//absl/strings",
1126    ],
1127)
1128
1129cc_test(
1130    name = "key_type_info_store_test",
1131    srcs = ["key_type_info_store_test.cc"],
1132    deps = [
1133        ":fips_utils",
1134        ":key_type_info_store",
1135        "//:aead",
1136        "//:core/key_manager_impl",
1137        "//:key_manager",
1138        "//aead:aes_gcm_key_manager",
1139        "//aead:cord_aead",
1140        "//aead:kms_envelope_aead_key_manager",
1141        "//proto:aes_gcm_cc_proto",
1142        "//proto:common_cc_proto",
1143        "//proto:ecdsa_cc_proto",
1144        "//signature:ecdsa_sign_key_manager",
1145        "//signature:ecdsa_verify_key_manager",
1146        "//util:test_matchers",
1147        "@com_google_absl//absl/status",
1148        "@com_google_absl//absl/types:optional",
1149        "@com_google_googletest//:gtest_main",
1150    ],
1151)
1152
1153cc_library(
1154    name = "keyset_wrapper_store",
1155    hdrs = ["keyset_wrapper_store.h"],
1156    include_prefix = "tink/internal",
1157    deps = [
1158        ":keyset_wrapper",
1159        ":keyset_wrapper_impl",
1160        "//:primitive_wrapper",
1161        "//util:status",
1162        "//util:statusor",
1163        "@com_google_absl//absl/functional:any_invocable",
1164    ],
1165)
1166
1167cc_test(
1168    name = "keyset_wrapper_store_test",
1169    srcs = ["keyset_wrapper_store_test.cc"],
1170    deps = [
1171        ":keyset_wrapper_store",
1172        ":registry_impl",
1173        "//:primitive_set",
1174        "//:primitive_wrapper",
1175        "//mac:mac_wrapper",
1176        "//proto:aes_gcm_cc_proto",
1177        "//subtle:random",
1178        "//util:status",
1179        "//util:statusor",
1180        "//util:test_matchers",
1181        "//util:test_util",
1182        "@com_google_absl//absl/status",
1183        "@com_google_googletest//:gtest_main",
1184    ],
1185)
1186
1187cc_library(
1188    name = "key_gen_configuration_impl",
1189    hdrs = ["key_gen_configuration_impl.h"],
1190    include_prefix = "tink/internal",
1191    deps = [
1192        ":key_type_info_store",
1193        "//:key_gen_configuration",
1194    ],
1195)
1196
1197cc_test(
1198    name = "key_gen_configuration_impl_test",
1199    srcs = ["key_gen_configuration_impl_test.cc"],
1200    deps = [
1201        ":key_gen_configuration_impl",
1202        "//:key_gen_configuration",
1203        "//aead:aead_key_templates",
1204        "//proto:aes_gcm_cc_proto",
1205        "//proto:rsa_ssa_pss_cc_proto",
1206        "//util:test_matchers",
1207        "//util:test_util",
1208        "@com_google_googletest//:gtest_main",
1209    ],
1210)
1211
1212cc_library(
1213    name = "call_with_core_dump_protection",
1214    hdrs = ["call_with_core_dump_protection.h"],
1215)
1216