xref: /aosp_15_r20/external/tink/cc/signature/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1package(default_visibility = ["//:__subpackages__"])
2
3licenses(["notice"])
4
5cc_library(
6    name = "public_key_verify_wrapper",
7    srcs = ["public_key_verify_wrapper.cc"],
8    hdrs = ["public_key_verify_wrapper.h"],
9    include_prefix = "tink/signature",
10    deps = [
11        "//:crypto_format",
12        "//:primitive_set",
13        "//:primitive_wrapper",
14        "//:public_key_verify",
15        "//internal:monitoring_util",
16        "//internal:registry_impl",
17        "//internal:util",
18        "//monitoring",
19        "//proto:tink_cc_proto",
20        "//util:status",
21        "//util:statusor",
22        "@com_google_absl//absl/status",
23        "@com_google_absl//absl/strings",
24    ],
25)
26
27cc_library(
28    name = "public_key_verify_factory",
29    srcs = ["public_key_verify_factory.cc"],
30    hdrs = ["public_key_verify_factory.h"],
31    include_prefix = "tink/signature",
32    deps = [
33        ":public_key_verify_wrapper",
34        "//:key_manager",
35        "//:keyset_handle",
36        "//:public_key_verify",
37        "//:registry",
38        "//util:status",
39        "//util:statusor",
40        "@com_google_absl//absl/base:core_headers",
41    ],
42)
43
44cc_library(
45    name = "public_key_sign_wrapper",
46    srcs = ["public_key_sign_wrapper.cc"],
47    hdrs = ["public_key_sign_wrapper.h"],
48    include_prefix = "tink/signature",
49    deps = [
50        "//:crypto_format",
51        "//:primitive_set",
52        "//:primitive_wrapper",
53        "//:public_key_sign",
54        "//internal:monitoring_util",
55        "//internal:registry_impl",
56        "//internal:util",
57        "//monitoring",
58        "//proto:tink_cc_proto",
59        "//util:statusor",
60        "@com_google_absl//absl/status",
61        "@com_google_absl//absl/strings",
62    ],
63)
64
65cc_library(
66    name = "public_key_sign_factory",
67    srcs = ["public_key_sign_factory.cc"],
68    hdrs = ["public_key_sign_factory.h"],
69    include_prefix = "tink/signature",
70    deps = [
71        ":public_key_sign_wrapper",
72        "//:key_manager",
73        "//:keyset_handle",
74        "//:public_key_sign",
75        "//:registry",
76        "//util:status",
77        "//util:statusor",
78        "@com_google_absl//absl/base:core_headers",
79    ],
80)
81
82cc_library(
83    name = "signature_key_templates",
84    srcs = ["signature_key_templates.cc"],
85    hdrs = ["signature_key_templates.h"],
86    include_prefix = "tink/signature",
87    visibility = ["//visibility:public"],
88    deps = [
89        "//internal:bn_util",
90        "//internal:ssl_unique_ptr",
91        "//proto:common_cc_proto",
92        "//proto:ecdsa_cc_proto",
93        "//proto:ed25519_cc_proto",
94        "//proto:rsa_ssa_pkcs1_cc_proto",
95        "//proto:rsa_ssa_pss_cc_proto",
96        "//proto:tink_cc_proto",
97        "//util:constants",
98        "@boringssl//:crypto",
99        "@com_google_absl//absl/base:core_headers",
100        "@com_google_absl//absl/memory",
101        "@com_google_absl//absl/strings",
102    ],
103)
104
105cc_library(
106    name = "ecdsa_sign_key_manager",
107    srcs = ["ecdsa_sign_key_manager.cc"],
108    hdrs = ["ecdsa_sign_key_manager.h"],
109    include_prefix = "tink/signature",
110    deps = [
111        ":ecdsa_verify_key_manager",
112        "//:core/private_key_type_manager",
113        "//:public_key_sign",
114        "//config:tink_fips",
115        "//internal:ec_util",
116        "//proto:ecdsa_cc_proto",
117        "//subtle:ecdsa_sign_boringssl",
118        "//util:constants",
119        "//util:enums",
120        "//util:errors",
121        "//util:input_stream_util",
122        "//util:protobuf_helper",
123        "//util:secret_data",
124        "//util:status",
125        "//util:statusor",
126        "//util:validation",
127        "@com_google_absl//absl/memory",
128        "@com_google_absl//absl/status",
129        "@com_google_absl//absl/strings",
130    ],
131)
132
133cc_library(
134    name = "ecdsa_verify_key_manager",
135    srcs = ["ecdsa_verify_key_manager.cc"],
136    hdrs = ["ecdsa_verify_key_manager.h"],
137    include_prefix = "tink/signature",
138    deps = [
139        "//:core/key_type_manager",
140        "//:public_key_verify",
141        "//internal:ec_util",
142        "//proto:ecdsa_cc_proto",
143        "//subtle:ecdsa_verify_boringssl",
144        "//util:constants",
145        "//util:enums",
146        "//util:errors",
147        "//util:protobuf_helper",
148        "//util:status",
149        "//util:statusor",
150        "//util:validation",
151        "@com_google_absl//absl/memory",
152        "@com_google_absl//absl/status",
153        "@com_google_absl//absl/strings",
154    ],
155)
156
157cc_library(
158    name = "ed25519_sign_key_manager",
159    srcs = ["ed25519_sign_key_manager.cc"],
160    hdrs = ["ed25519_sign_key_manager.h"],
161    include_prefix = "tink/signature",
162    deps = [
163        ":ed25519_verify_key_manager",
164        "//:core/private_key_type_manager",
165        "//:public_key_sign",
166        "//internal:ec_util",
167        "//proto:ed25519_cc_proto",
168        "//subtle:ed25519_sign_boringssl",
169        "//util:constants",
170        "//util:enums",
171        "//util:errors",
172        "//util:input_stream_util",
173        "//util:protobuf_helper",
174        "//util:secret_data",
175        "//util:status",
176        "//util:statusor",
177        "//util:validation",
178        "@com_google_absl//absl/memory",
179        "@com_google_absl//absl/status",
180        "@com_google_absl//absl/strings",
181    ],
182)
183
184cc_library(
185    name = "ed25519_verify_key_manager",
186    srcs = ["ed25519_verify_key_manager.cc"],
187    hdrs = ["ed25519_verify_key_manager.h"],
188    include_prefix = "tink/signature",
189    deps = [
190        "//:core/key_type_manager",
191        "//:public_key_verify",
192        "//proto:ed25519_cc_proto",
193        "//subtle:ed25519_verify_boringssl",
194        "//util:constants",
195        "//util:errors",
196        "//util:protobuf_helper",
197        "//util:status",
198        "//util:statusor",
199        "//util:validation",
200        "@com_google_absl//absl/memory",
201        "@com_google_absl//absl/status",
202        "@com_google_absl//absl/strings",
203    ],
204)
205
206cc_library(
207    name = "sig_util",
208    srcs = ["sig_util.cc"],
209    hdrs = ["sig_util.h"],
210    include_prefix = "tink/signature",
211    deps = [
212        "//:public_key_sign",
213        "//:public_key_verify",
214        "//util:status",
215    ],
216)
217
218cc_library(
219    name = "rsa_ssa_pkcs1_sign_key_manager",
220    srcs = ["rsa_ssa_pkcs1_sign_key_manager.cc"],
221    hdrs = ["rsa_ssa_pkcs1_sign_key_manager.h"],
222    include_prefix = "tink/signature",
223    deps = [
224        ":rsa_ssa_pkcs1_verify_key_manager",
225        ":sig_util",
226        "//:core/private_key_type_manager",
227        "//:public_key_sign",
228        "//:public_key_verify",
229        "//internal:bn_util",
230        "//internal:rsa_util",
231        "//internal:ssl_unique_ptr",
232        "//proto:rsa_ssa_pkcs1_cc_proto",
233        "//subtle:rsa_ssa_pkcs1_sign_boringssl",
234        "//util:constants",
235        "//util:enums",
236        "//util:errors",
237        "//util:protobuf_helper",
238        "//util:secret_data",
239        "//util:status",
240        "//util:statusor",
241        "//util:validation",
242        "@com_google_absl//absl/memory",
243        "@com_google_absl//absl/status",
244        "@com_google_absl//absl/strings",
245    ],
246)
247
248cc_library(
249    name = "rsa_ssa_pkcs1_verify_key_manager",
250    srcs = ["rsa_ssa_pkcs1_verify_key_manager.cc"],
251    hdrs = ["rsa_ssa_pkcs1_verify_key_manager.h"],
252    include_prefix = "tink/signature",
253    deps = [
254        "//:core/key_type_manager",
255        "//:public_key_verify",
256        "//internal:bn_util",
257        "//internal:md_util",
258        "//internal:ssl_unique_ptr",
259        "//proto:rsa_ssa_pkcs1_cc_proto",
260        "//subtle:rsa_ssa_pkcs1_verify_boringssl",
261        "//util:constants",
262        "//util:enums",
263        "//util:errors",
264        "//util:protobuf_helper",
265        "//util:status",
266        "//util:statusor",
267        "//util:validation",
268        "@boringssl//:crypto",
269        "@com_google_absl//absl/memory",
270        "@com_google_absl//absl/strings",
271    ],
272)
273
274cc_library(
275    name = "rsa_ssa_pss_sign_key_manager",
276    srcs = ["rsa_ssa_pss_sign_key_manager.cc"],
277    hdrs = ["rsa_ssa_pss_sign_key_manager.h"],
278    include_prefix = "tink/signature",
279    deps = [
280        ":rsa_ssa_pss_verify_key_manager",
281        ":sig_util",
282        "//:core/key_type_manager",
283        "//:core/private_key_type_manager",
284        "//:public_key_sign",
285        "//internal:bn_util",
286        "//internal:rsa_util",
287        "//internal:ssl_unique_ptr",
288        "//proto:rsa_ssa_pss_cc_proto",
289        "//proto:tink_cc_proto",
290        "//subtle:rsa_ssa_pss_sign_boringssl",
291        "//util:constants",
292        "//util:enums",
293        "//util:errors",
294        "//util:protobuf_helper",
295        "//util:secret_data",
296        "//util:status",
297        "//util:statusor",
298        "//util:validation",
299        "@com_google_absl//absl/memory",
300        "@com_google_absl//absl/status",
301        "@com_google_absl//absl/strings",
302    ],
303)
304
305cc_library(
306    name = "rsa_ssa_pss_verify_key_manager",
307    srcs = ["rsa_ssa_pss_verify_key_manager.cc"],
308    hdrs = ["rsa_ssa_pss_verify_key_manager.h"],
309    include_prefix = "tink/signature",
310    deps = [
311        "//:core/private_key_type_manager",
312        "//:public_key_sign",
313        "//:public_key_verify",
314        "//internal:bn_util",
315        "//internal:md_util",
316        "//internal:rsa_util",
317        "//internal:ssl_unique_ptr",
318        "//proto:rsa_ssa_pss_cc_proto",
319        "//proto:tink_cc_proto",
320        "//subtle:rsa_ssa_pss_verify_boringssl",
321        "//util:constants",
322        "//util:enums",
323        "//util:errors",
324        "//util:protobuf_helper",
325        "//util:status",
326        "//util:statusor",
327        "//util:validation",
328        "@com_google_absl//absl/memory",
329        "@com_google_absl//absl/status",
330        "@com_google_absl//absl/strings",
331    ],
332)
333
334cc_library(
335    name = "signature_config",
336    srcs = ["signature_config.cc"],
337    hdrs = ["signature_config.h"],
338    include_prefix = "tink/signature",
339    visibility = ["//visibility:public"],
340    deps = [
341        ":ecdsa_sign_key_manager",
342        ":ecdsa_verify_key_manager",
343        ":ed25519_proto_serialization",
344        ":ed25519_sign_key_manager",
345        ":ed25519_verify_key_manager",
346        ":public_key_sign_wrapper",
347        ":public_key_verify_wrapper",
348        ":rsa_ssa_pkcs1_sign_key_manager",
349        ":rsa_ssa_pkcs1_verify_key_manager",
350        ":rsa_ssa_pss_sign_key_manager",
351        ":rsa_ssa_pss_verify_key_manager",
352        "//:registry",
353        "//config:config_util",
354        "//config:tink_fips",
355        "//proto:config_cc_proto",
356        "//util:status",
357        "@com_google_absl//absl/base:core_headers",
358        "@com_google_absl//absl/memory",
359    ],
360)
361
362cc_library(
363    name = "signature_pem_keyset_reader",
364    srcs = ["signature_pem_keyset_reader.cc"],
365    hdrs = ["signature_pem_keyset_reader.h"],
366    include_prefix = "tink/signature",
367    deps = [
368        ":ecdsa_verify_key_manager",
369        ":rsa_ssa_pkcs1_sign_key_manager",
370        ":rsa_ssa_pkcs1_verify_key_manager",
371        ":rsa_ssa_pss_sign_key_manager",
372        ":rsa_ssa_pss_verify_key_manager",
373        "//:keyset_reader",
374        "//internal:ec_util",
375        "//internal:rsa_util",
376        "//proto:common_cc_proto",
377        "//proto:ecdsa_cc_proto",
378        "//proto:rsa_ssa_pkcs1_cc_proto",
379        "//proto:rsa_ssa_pss_cc_proto",
380        "//proto:tink_cc_proto",
381        "//subtle:pem_parser_boringssl",
382        "//util:enums",
383        "//util:keyset_util",
384        "//util:secret_data",
385        "//util:status",
386        "//util:statusor",
387        "@com_google_absl//absl/memory",
388        "@com_google_absl//absl/status",
389        "@com_google_absl//absl/strings",
390    ],
391)
392
393cc_library(
394    name = "failing_signature",
395    srcs = ["failing_signature.cc"],
396    hdrs = ["failing_signature.h"],
397    include_prefix = "tink/signature",
398    deps = [
399        "//:public_key_sign",
400        "//:public_key_verify",
401        "@com_google_absl//absl/strings",
402    ],
403)
404
405cc_library(
406    name = "signature_parameters",
407    hdrs = ["signature_parameters.h"],
408    include_prefix = "tink/signature",
409    deps = ["//:parameters"],
410)
411
412cc_library(
413    name = "signature_public_key",
414    hdrs = ["signature_public_key.h"],
415    include_prefix = "tink/signature",
416    deps = [
417        ":signature_parameters",
418        "//:key",
419        "@com_google_absl//absl/strings",
420    ],
421)
422
423cc_library(
424    name = "signature_private_key",
425    hdrs = ["signature_private_key.h"],
426    include_prefix = "tink/signature",
427    deps = [
428        ":signature_parameters",
429        ":signature_public_key",
430        "//:key",
431        "//:private_key",
432        "@com_google_absl//absl/strings",
433    ],
434)
435
436cc_library(
437    name = "ed25519_parameters",
438    srcs = ["ed25519_parameters.cc"],
439    hdrs = ["ed25519_parameters.h"],
440    include_prefix = "tink/signature",
441    deps = [
442        ":signature_parameters",
443        "//util:statusor",
444    ],
445)
446
447cc_library(
448    name = "ed25519_public_key",
449    srcs = ["ed25519_public_key.cc"],
450    hdrs = ["ed25519_public_key.h"],
451    include_prefix = "tink/signature",
452    deps = [
453        ":ed25519_parameters",
454        ":signature_public_key",
455        "//:partial_key_access_token",
456        "//subtle:subtle_util",
457        "//util:status",
458        "//util:statusor",
459        "@com_google_absl//absl/base:core_headers",
460        "@com_google_absl//absl/strings",
461        "@com_google_absl//absl/types:optional",
462    ],
463)
464
465cc_library(
466    name = "ed25519_private_key",
467    srcs = ["ed25519_private_key.cc"],
468    hdrs = ["ed25519_private_key.h"],
469    include_prefix = "tink/signature",
470    deps = [
471        ":ed25519_public_key",
472        ":signature_private_key",
473        "//:insecure_secret_key_access",
474        "//:partial_key_access_token",
475        "//:restricted_data",
476        "//internal:ec_util",
477        "//util:secret_data",
478        "//util:statusor",
479        "@boringssl//:crypto",
480    ],
481)
482
483cc_library(
484    name = "ed25519_proto_serialization",
485    srcs = ["ed25519_proto_serialization.cc"],
486    hdrs = ["ed25519_proto_serialization.h"],
487    include_prefix = "tink/signature",
488    deps = [
489        ":ed25519_parameters",
490        ":ed25519_private_key",
491        ":ed25519_public_key",
492        "//:insecure_secret_key_access",
493        "//:partial_key_access",
494        "//:restricted_data",
495        "//:secret_key_access_token",
496        "//internal:key_parser",
497        "//internal:key_serializer",
498        "//internal:mutable_serialization_registry",
499        "//internal:parameters_parser",
500        "//internal:parameters_serializer",
501        "//internal:proto_key_serialization",
502        "//internal:proto_parameters_serialization",
503        "//proto:ed25519_cc_proto",
504        "//proto:tink_cc_proto",
505        "//util:status",
506        "//util:statusor",
507        "@com_google_absl//absl/status",
508        "@com_google_absl//absl/strings",
509        "@com_google_absl//absl/types:optional",
510    ],
511)
512
513# tests
514
515cc_test(
516    name = "public_key_verify_wrapper_test",
517    size = "small",
518    srcs = ["public_key_verify_wrapper_test.cc"],
519    deps = [
520        ":failing_signature",
521        ":public_key_verify_wrapper",
522        "//:primitive_set",
523        "//:public_key_verify",
524        "//internal:registry_impl",
525        "//monitoring",
526        "//monitoring:monitoring_client_mocks",
527        "//util:status",
528        "//util:test_matchers",
529        "//util:test_util",
530        "@com_google_googletest//:gtest_main",
531    ],
532)
533
534cc_test(
535    name = "public_key_verify_factory_test",
536    size = "small",
537    srcs = ["public_key_verify_factory_test.cc"],
538    deps = [
539        ":ecdsa_verify_key_manager",
540        ":public_key_verify_factory",
541        ":signature_config",
542        "//:crypto_format",
543        "//:keyset_handle",
544        "//:public_key_verify",
545        "//:registry",
546        "//proto:ecdsa_cc_proto",
547        "//proto:tink_cc_proto",
548        "//util:status",
549        "//util:test_keyset_handle",
550        "//util:test_util",
551        "@com_google_googletest//:gtest_main",
552    ],
553)
554
555cc_test(
556    name = "public_key_sign_wrapper_test",
557    size = "small",
558    srcs = ["public_key_sign_wrapper_test.cc"],
559    deps = [
560        ":failing_signature",
561        ":public_key_sign_wrapper",
562        "//:crypto_format",
563        "//:primitive_set",
564        "//:public_key_sign",
565        "//internal:registry_impl",
566        "//monitoring",
567        "//monitoring:monitoring_client_mocks",
568        "//util:status",
569        "//util:test_matchers",
570        "//util:test_util",
571        "@com_google_absl//absl/memory",
572        "@com_google_absl//absl/status",
573        "@com_google_googletest//:gtest_main",
574    ],
575)
576
577cc_test(
578    name = "public_key_sign_factory_test",
579    size = "small",
580    srcs = ["public_key_sign_factory_test.cc"],
581    deps = [
582        ":ecdsa_sign_key_manager",
583        ":public_key_sign_factory",
584        ":signature_config",
585        "//:crypto_format",
586        "//:keyset_handle",
587        "//:public_key_sign",
588        "//:registry",
589        "//proto:ecdsa_cc_proto",
590        "//proto:tink_cc_proto",
591        "//util:status",
592        "//util:test_keyset_handle",
593        "//util:test_util",
594        "@com_google_googletest//:gtest_main",
595    ],
596)
597
598cc_test(
599    name = "ecdsa_verify_key_manager_test",
600    size = "small",
601    srcs = ["ecdsa_verify_key_manager_test.cc"],
602    deps = [
603        ":ecdsa_sign_key_manager",
604        ":ecdsa_verify_key_manager",
605        "//:public_key_sign",
606        "//:public_key_verify",
607        "//internal:ec_util",
608        "//proto:ecdsa_cc_proto",
609        "//subtle:ecdsa_sign_boringssl",
610        "//util:enums",
611        "//util:secret_data",
612        "//util:status",
613        "//util:statusor",
614        "//util:test_matchers",
615        "//util:test_util",
616        "@com_google_absl//absl/status",
617        "@com_google_googletest//:gtest_main",
618    ],
619)
620
621cc_test(
622    name = "ed25519_verify_key_manager_test",
623    size = "small",
624    srcs = ["ed25519_verify_key_manager_test.cc"],
625    deps = [
626        ":ed25519_sign_key_manager",
627        ":ed25519_verify_key_manager",
628        "//:public_key_sign",
629        "//:public_key_verify",
630        "//:registry",
631        "//proto:ed25519_cc_proto",
632        "//subtle:ed25519_sign_boringssl",
633        "//util:enums",
634        "//util:secret_data",
635        "//util:status",
636        "//util:statusor",
637        "//util:test_matchers",
638        "//util:test_util",
639        "@com_google_googletest//:gtest_main",
640    ],
641)
642
643cc_test(
644    name = "rsa_ssa_pkcs1_verify_key_manager_test",
645    size = "large",
646    srcs = ["rsa_ssa_pkcs1_verify_key_manager_test.cc"],
647    deps = [
648        ":rsa_ssa_pkcs1_sign_key_manager",
649        ":rsa_ssa_pkcs1_verify_key_manager",
650        "//:public_key_sign",
651        "//:public_key_verify",
652        "//internal:bn_util",
653        "//internal:rsa_util",
654        "//internal:ssl_unique_ptr",
655        "//proto:rsa_ssa_pkcs1_cc_proto",
656        "//proto:tink_cc_proto",
657        "//subtle:rsa_ssa_pkcs1_sign_boringssl",
658        "//util:secret_data",
659        "//util:status",
660        "//util:statusor",
661        "//util:test_matchers",
662        "//util:test_util",
663        "@boringssl//:crypto",
664        "@com_google_absl//absl/status",
665        "@com_google_absl//absl/strings",
666        "@com_google_googletest//:gtest_main",
667    ],
668)
669
670cc_test(
671    name = "rsa_ssa_pss_verify_key_manager_test",
672    size = "large",
673    srcs = ["rsa_ssa_pss_verify_key_manager_test.cc"],
674    deps = [
675        ":rsa_ssa_pss_sign_key_manager",
676        ":rsa_ssa_pss_verify_key_manager",
677        "//:public_key_sign",
678        "//:public_key_verify",
679        "//internal:bn_util",
680        "//internal:rsa_util",
681        "//internal:ssl_unique_ptr",
682        "//proto:rsa_ssa_pss_cc_proto",
683        "//subtle:rsa_ssa_pss_sign_boringssl",
684        "//util:secret_data",
685        "//util:status",
686        "//util:statusor",
687        "//util:test_matchers",
688        "//util:test_util",
689        "@boringssl//:crypto",
690        "@com_google_absl//absl/status",
691        "@com_google_absl//absl/strings",
692        "@com_google_googletest//:gtest_main",
693    ],
694)
695
696cc_test(
697    name = "ecdsa_sign_key_manager_test",
698    size = "small",
699    srcs = ["ecdsa_sign_key_manager_test.cc"],
700    deps = [
701        ":ecdsa_sign_key_manager",
702        ":ecdsa_verify_key_manager",
703        "//:public_key_sign",
704        "//:public_key_verify",
705        "//internal:ec_util",
706        "//internal:ssl_util",
707        "//proto:ecdsa_cc_proto",
708        "//subtle:ecdsa_verify_boringssl",
709        "//util:enums",
710        "//util:istream_input_stream",
711        "//util:status",
712        "//util:statusor",
713        "//util:test_matchers",
714        "//util:test_util",
715        "@com_google_absl//absl/status",
716        "@com_google_absl//absl/strings",
717        "@com_google_googletest//:gtest_main",
718    ],
719)
720
721cc_test(
722    name = "ed25519_sign_key_manager_test",
723    size = "small",
724    srcs = ["ed25519_sign_key_manager_test.cc"],
725    deps = [
726        ":ed25519_sign_key_manager",
727        ":ed25519_verify_key_manager",
728        "//:public_key_sign",
729        "//:registry",
730        "//proto:ed25519_cc_proto",
731        "//subtle:ed25519_verify_boringssl",
732        "//util:enums",
733        "//util:istream_input_stream",
734        "//util:protobuf_helper",
735        "//util:status",
736        "//util:statusor",
737        "//util:test_matchers",
738        "//util:test_util",
739        "@com_google_absl//absl/container:flat_hash_set",
740        "@com_google_absl//absl/status",
741        "@com_google_googletest//:gtest_main",
742    ],
743)
744
745cc_test(
746    name = "rsa_ssa_pkcs1_sign_key_manager_test",
747    size = "large",
748    srcs = ["rsa_ssa_pkcs1_sign_key_manager_test.cc"],
749    deps = [
750        ":rsa_ssa_pkcs1_sign_key_manager",
751        ":rsa_ssa_pkcs1_verify_key_manager",
752        "//:public_key_sign",
753        "//internal:bn_util",
754        "//internal:ssl_unique_ptr",
755        "//proto:rsa_ssa_pkcs1_cc_proto",
756        "//proto:tink_cc_proto",
757        "//subtle:rsa_ssa_pkcs1_verify_boringssl",
758        "//util:status",
759        "//util:statusor",
760        "//util:test_matchers",
761        "//util:test_util",
762        "@boringssl//:crypto",
763        "@com_google_absl//absl/container:flat_hash_set",
764        "@com_google_googletest//:gtest_main",
765    ],
766)
767
768cc_test(
769    name = "rsa_ssa_pss_sign_key_manager_test",
770    size = "large",
771    srcs = ["rsa_ssa_pss_sign_key_manager_test.cc"],
772    deps = [
773        ":rsa_ssa_pss_sign_key_manager",
774        ":rsa_ssa_pss_verify_key_manager",
775        ":signature_key_templates",
776        "//:public_key_sign",
777        "//internal:bn_util",
778        "//internal:rsa_util",
779        "//internal:ssl_unique_ptr",
780        "//proto:rsa_ssa_pss_cc_proto",
781        "//subtle:rsa_ssa_pss_verify_boringssl",
782        "//util:status",
783        "//util:statusor",
784        "//util:test_matchers",
785        "//util:test_util",
786        "@boringssl//:crypto",
787        "@com_google_absl//absl/container:flat_hash_set",
788        "@com_google_googletest//:gtest_main",
789    ],
790)
791
792cc_test(
793    name = "signature_config_test",
794    size = "small",
795    srcs = ["signature_config_test.cc"],
796    tags = ["fips"],
797    deps = [
798        ":ed25519_parameters",
799        ":ed25519_private_key",
800        ":ed25519_public_key",
801        ":rsa_ssa_pss_sign_key_manager",
802        ":rsa_ssa_pss_verify_key_manager",
803        ":signature_config",
804        ":signature_key_templates",
805        "//:insecure_secret_key_access",
806        "//:key",
807        "//:keyset_handle",
808        "//:parameters",
809        "//:partial_key_access",
810        "//:public_key_sign",
811        "//:public_key_verify",
812        "//:registry",
813        "//:restricted_data",
814        "//internal:ec_util",
815        "//internal:fips_utils",
816        "//internal:mutable_serialization_registry",
817        "//internal:proto_key_serialization",
818        "//internal:proto_parameters_serialization",
819        "//internal:serialization",
820        "//proto:ed25519_cc_proto",
821        "//proto:tink_cc_proto",
822        "//subtle:random",
823        "//util:status",
824        "//util:statusor",
825        "//util:test_matchers",
826        "//util:test_util",
827        "@boringssl//:crypto",
828        "@com_google_absl//absl/memory",
829        "@com_google_absl//absl/status",
830        "@com_google_googletest//:gtest_main",
831    ],
832)
833
834cc_test(
835    name = "signature_key_templates_test",
836    size = "large",
837    srcs = ["signature_key_templates_test.cc"],
838    deps = [
839        ":ecdsa_sign_key_manager",
840        ":ecdsa_verify_key_manager",
841        ":ed25519_sign_key_manager",
842        ":ed25519_verify_key_manager",
843        ":rsa_ssa_pkcs1_sign_key_manager",
844        ":rsa_ssa_pss_sign_key_manager",
845        ":signature_key_templates",
846        "//:core/key_manager_impl",
847        "//:core/private_key_manager_impl",
848        "//internal:bn_util",
849        "//internal:ssl_unique_ptr",
850        "//proto:common_cc_proto",
851        "//proto:ecdsa_cc_proto",
852        "//proto:rsa_ssa_pkcs1_cc_proto",
853        "//proto:rsa_ssa_pss_cc_proto",
854        "//proto:tink_cc_proto",
855        "//util:statusor",
856        "//util:test_matchers",
857        "@boringssl//:crypto",
858        "@com_google_googletest//:gtest_main",
859    ],
860)
861
862cc_test(
863    name = "signature_pem_keyset_reader_test",
864    size = "large",
865    srcs = ["signature_pem_keyset_reader_test.cc"],
866    deps = [
867        ":ecdsa_verify_key_manager",
868        ":rsa_ssa_pss_sign_key_manager",
869        ":rsa_ssa_pss_verify_key_manager",
870        ":signature_config",
871        ":signature_pem_keyset_reader",
872        "//:tink_cc",
873        "//internal:rsa_util",
874        "//internal:ssl_util",
875        "//proto:common_cc_proto",
876        "//proto:ecdsa_cc_proto",
877        "//proto:rsa_ssa_pss_cc_proto",
878        "//proto:tink_cc_proto",
879        "//subtle:pem_parser_boringssl",
880        "//util:enums",
881        "//util:secret_data",
882        "//util:status",
883        "//util:statusor",
884        "//util:test_matchers",
885        "@com_google_absl//absl/status",
886        "@com_google_absl//absl/strings",
887        "@com_google_googletest//:gtest_main",
888    ],
889)
890
891cc_test(
892    name = "failing_signature_test",
893    srcs = ["failing_signature_test.cc"],
894    deps = [
895        ":failing_signature",
896        "//util:test_matchers",
897        "@com_google_absl//absl/status",
898        "@com_google_googletest//:gtest_main",
899    ],
900)
901
902cc_test(
903    name = "ed25519_parameters_test",
904    srcs = ["ed25519_parameters_test.cc"],
905    deps = [
906        ":ed25519_parameters",
907        "//util:statusor",
908        "//util:test_matchers",
909        "@com_google_googletest//:gtest_main",
910    ],
911)
912
913cc_test(
914    name = "ed25519_public_key_test",
915    srcs = ["ed25519_public_key_test.cc"],
916    deps = [
917        ":ed25519_public_key",
918        "//:partial_key_access",
919        "//subtle:random",
920        "//util:statusor",
921        "//util:test_matchers",
922        "@com_google_googletest//:gtest_main",
923    ],
924)
925
926cc_test(
927    name = "ed25519_private_key_test",
928    srcs = ["ed25519_private_key_test.cc"],
929    deps = [
930        ":ed25519_private_key",
931        ":ed25519_public_key",
932        "//:insecure_secret_key_access",
933        "//:partial_key_access",
934        "//internal:ec_util",
935        "//subtle:random",
936        "//util:statusor",
937        "//util:test_matchers",
938        "@com_google_googletest//:gtest_main",
939    ],
940)
941
942cc_test(
943    name = "ed25519_proto_serialization_test",
944    srcs = ["ed25519_proto_serialization_test.cc"],
945    deps = [
946        ":ed25519_parameters",
947        ":ed25519_private_key",
948        ":ed25519_proto_serialization",
949        ":ed25519_public_key",
950        "//:insecure_secret_key_access",
951        "//:key",
952        "//:parameters",
953        "//:partial_key_access",
954        "//:restricted_data",
955        "//internal:ec_util",
956        "//internal:mutable_serialization_registry",
957        "//internal:proto_key_serialization",
958        "//internal:proto_parameters_serialization",
959        "//internal:serialization",
960        "//proto:ed25519_cc_proto",
961        "//proto:tink_cc_proto",
962        "//subtle:random",
963        "//util:statusor",
964        "//util:test_matchers",
965        "@com_google_absl//absl/status",
966        "@com_google_absl//absl/types:optional",
967        "@com_google_googletest//:gtest_main",
968    ],
969)
970