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