xref: /aosp_15_r20/external/tink/cc/hybrid/CMakeLists.txt (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1tink_module(hybrid)
2
3add_subdirectory(internal)
4
5tink_cc_library(
6  NAME hybrid_config
7  SRCS
8    hybrid_config.cc
9    hybrid_config.h
10  DEPS
11    tink::hybrid::ecies_aead_hkdf_private_key_manager
12    tink::hybrid::ecies_aead_hkdf_public_key_manager
13    tink::hybrid::hybrid_decrypt_wrapper
14    tink::hybrid::hybrid_encrypt_wrapper
15    absl::core_headers
16    absl::memory
17    tink::core::registry
18    tink::aead::aead_config
19    tink::config::config_util
20    tink::config::tink_fips
21    tink::util::status
22    tink::proto::config_cc_proto
23)
24
25tink_cc_library(
26  NAME hpke_config
27  SRCS
28    hpke_config.cc
29    hpke_config.h
30  DEPS
31    tink::hybrid::hybrid_decrypt_wrapper
32    tink::hybrid::hybrid_encrypt_wrapper
33    tink::core::registry
34    tink::aead::aead_config
35    tink::config::tink_fips
36    tink::hybrid::internal::hpke_private_key_manager
37    tink::hybrid::internal::hpke_public_key_manager
38    tink::util::status
39  TAGS
40    exclude_if_openssl
41)
42
43tink_cc_library(
44  NAME hybrid_decrypt_wrapper
45  SRCS
46    hybrid_decrypt_wrapper.cc
47    hybrid_decrypt_wrapper.h
48  DEPS
49    absl::status
50    absl::strings
51    tink::core::crypto_format
52    tink::core::hybrid_decrypt
53    tink::core::primitive_set
54    tink::core::primitive_wrapper
55    tink::internal::monitoring_util
56    tink::internal::registry_impl
57    tink::internal::util
58    tink::monitoring::monitoring
59    tink::util::status
60    tink::util::statusor
61    tink::proto::tink_cc_proto
62)
63
64tink_cc_library(
65  NAME hybrid_encrypt_wrapper
66  SRCS
67    hybrid_encrypt_wrapper.cc
68    hybrid_encrypt_wrapper.h
69  DEPS
70    absl::status
71    absl::strings
72    tink::core::crypto_format
73    tink::core::hybrid_encrypt
74    tink::core::primitive_set
75    tink::core::primitive_wrapper
76    tink::internal::monitoring_util
77    tink::internal::registry_impl
78    tink::internal::util
79    tink::monitoring::monitoring
80    tink::util::status
81    tink::util::statusor
82    tink::proto::tink_cc_proto
83)
84
85tink_cc_library(
86  NAME hybrid_decrypt_factory
87  SRCS
88    hybrid_decrypt_factory.cc
89    hybrid_decrypt_factory.h
90  DEPS
91    tink::hybrid::hybrid_decrypt_wrapper
92    absl::core_headers
93    tink::core::hybrid_decrypt
94    tink::core::key_manager
95    tink::core::keyset_handle
96    tink::core::registry
97    tink::util::status
98    tink::util::statusor
99)
100
101tink_cc_library(
102  NAME hybrid_encrypt_factory
103  SRCS
104    hybrid_encrypt_factory.cc
105    hybrid_encrypt_factory.h
106  DEPS
107    tink::hybrid::hybrid_encrypt_wrapper
108    absl::core_headers
109    tink::core::hybrid_encrypt
110    tink::core::key_manager
111    tink::core::keyset_handle
112    tink::core::registry
113    tink::util::status
114    tink::util::statusor
115)
116
117tink_cc_library(
118  NAME hybrid_key_templates
119  SRCS
120    hybrid_key_templates.cc
121    hybrid_key_templates.h
122  DEPS
123    absl::strings
124    tink::aead::aead_key_templates
125    tink::daead::deterministic_aead_key_templates
126    tink::proto::common_cc_proto
127    tink::proto::ecies_aead_hkdf_cc_proto
128    tink::proto::hpke_cc_proto
129    tink::proto::tink_cc_proto
130)
131
132tink_cc_library(
133  NAME ecies_aead_hkdf_dem_helper
134  SRCS
135    ecies_aead_hkdf_dem_helper.cc
136    ecies_aead_hkdf_dem_helper.h
137  DEPS
138    absl::memory
139    absl::status
140    absl::statusor
141    absl::strings
142    tink::core::aead
143    tink::core::deterministic_aead
144    tink::aead::aes_ctr_hmac_aead_key_manager
145    tink::daead::subtle::aead_or_daead
146    tink::subtle::aes_gcm_boringssl
147    tink::subtle::aes_siv_boringssl
148    tink::subtle::xchacha20_poly1305_boringssl
149    tink::util::errors
150    tink::util::protobuf_helper
151    tink::util::secret_data
152    tink::util::statusor
153    tink::proto::aes_ctr_cc_proto
154    tink::proto::aes_ctr_hmac_aead_cc_proto
155    tink::proto::aes_gcm_cc_proto
156    tink::proto::aes_siv_cc_proto
157    tink::proto::common_cc_proto
158    tink::proto::hmac_cc_proto
159    tink::proto::tink_cc_proto
160    tink::proto::xchacha20_poly1305_cc_proto
161)
162
163tink_cc_library(
164  NAME ecies_aead_hkdf_hybrid_decrypt
165  SRCS
166    ecies_aead_hkdf_hybrid_decrypt.cc
167    ecies_aead_hkdf_hybrid_decrypt.h
168  DEPS
169    tink::hybrid::ecies_aead_hkdf_dem_helper
170    absl::memory
171    absl::status
172    tink::core::hybrid_decrypt
173    tink::internal::ec_util
174    tink::subtle::ecies_hkdf_recipient_kem_boringssl
175    tink::util::enums
176    tink::util::secret_data
177    tink::util::status
178    tink::util::statusor
179    tink::proto::ecies_aead_hkdf_cc_proto
180)
181
182tink_cc_library(
183  NAME ecies_aead_hkdf_hybrid_encrypt
184  SRCS
185    ecies_aead_hkdf_hybrid_encrypt.cc
186    ecies_aead_hkdf_hybrid_encrypt.h
187  DEPS
188    tink::hybrid::ecies_aead_hkdf_dem_helper
189    absl::memory
190    absl::status
191    absl::strings
192    tink::core::aead
193    tink::core::hybrid_encrypt
194    tink::subtle::ecies_hkdf_sender_kem_boringssl
195    tink::util::enums
196    tink::util::status
197    tink::util::statusor
198    tink::proto::ecies_aead_hkdf_cc_proto
199)
200
201tink_cc_library(
202  NAME ecies_aead_hkdf_private_key_manager
203  SRCS
204    ecies_aead_hkdf_private_key_manager.cc
205    ecies_aead_hkdf_private_key_manager.h
206  DEPS
207    tink::hybrid::ecies_aead_hkdf_hybrid_decrypt
208    tink::hybrid::ecies_aead_hkdf_public_key_manager
209    absl::memory
210    absl::status
211    absl::strings
212    tink::core::key_type_manager
213    tink::core::private_key_type_manager
214    tink::core::hybrid_decrypt
215    tink::core::key_manager
216    tink::internal::ec_util
217    tink::util::constants
218    tink::util::enums
219    tink::util::errors
220    tink::util::protobuf_helper
221    tink::util::secret_data
222    tink::util::status
223    tink::util::statusor
224    tink::util::validation
225    tink::proto::ecies_aead_hkdf_cc_proto
226    tink::proto::tink_cc_proto
227)
228
229tink_cc_library(
230  NAME ecies_aead_hkdf_public_key_manager
231  SRCS
232    ecies_aead_hkdf_public_key_manager.cc
233    ecies_aead_hkdf_public_key_manager.h
234  DEPS
235    tink::hybrid::ecies_aead_hkdf_hybrid_encrypt
236    absl::memory
237    absl::status
238    absl::strings
239    tink::core::key_type_manager
240    tink::core::hybrid_encrypt
241    tink::core::key_manager
242    tink::util::constants
243    tink::util::errors
244    tink::util::protobuf_helper
245    tink::util::status
246    tink::util::statusor
247    tink::util::validation
248    tink::proto::common_cc_proto
249    tink::proto::ecies_aead_hkdf_cc_proto
250    tink::proto::tink_cc_proto
251)
252
253tink_cc_library(
254  NAME failing_hybrid
255  SRCS
256    failing_hybrid.cc
257    failing_hybrid.h
258  DEPS
259    absl::strings
260    tink::core::hybrid_decrypt
261    tink::core::hybrid_encrypt
262)
263
264tink_cc_library(
265  NAME hybrid_parameters
266  SRCS
267    hybrid_parameters.h
268  DEPS
269    tink::core::parameters
270)
271
272tink_cc_library(
273  NAME hybrid_public_key
274  SRCS
275    hybrid_public_key.h
276  DEPS
277    tink::hybrid::hybrid_parameters
278    absl::strings
279    tink::core::key
280)
281
282tink_cc_library(
283  NAME hybrid_private_key
284  SRCS
285    hybrid_private_key.h
286  DEPS
287    tink::hybrid::hybrid_parameters
288    tink::hybrid::hybrid_public_key
289    absl::strings
290    tink::core::key
291    tink::core::private_key
292)
293
294# tests
295
296tink_cc_test(
297  NAME hybrid_config_test
298  SRCS
299    hybrid_config_test.cc
300  DEPS
301    tink::hybrid::ecies_aead_hkdf_private_key_manager
302    tink::hybrid::ecies_aead_hkdf_public_key_manager
303    tink::hybrid::hybrid_config
304    tink::hybrid::hybrid_key_templates
305    gmock
306    absl::status
307    crypto
308    tink::core::hybrid_decrypt
309    tink::core::hybrid_encrypt
310    tink::core::keyset_handle
311    tink::core::registry
312    tink::internal::fips_utils
313    tink::util::status
314    tink::util::test_matchers
315    tink::util::test_util
316)
317
318tink_cc_test(
319  NAME hpke_config_test
320  SRCS
321    hpke_config_test.cc
322  DEPS
323    tink::hybrid::hpke_config
324    tink::hybrid::hybrid_key_templates
325    gmock
326    absl::status
327    tink::core::hybrid_decrypt
328    tink::core::hybrid_encrypt
329    tink::core::keyset_handle
330    tink::core::registry
331    tink::config::tink_fips
332    tink::hybrid::internal::hpke_private_key_manager
333    tink::hybrid::internal::hpke_public_key_manager
334    tink::util::status
335    tink::util::test_matchers
336    tink::util::test_util
337  TAGS
338    exclude_if_openssl
339)
340
341tink_cc_test(
342  NAME hybrid_decrypt_wrapper_test
343  SRCS
344    hybrid_decrypt_wrapper_test.cc
345  DEPS
346    tink::hybrid::failing_hybrid
347    tink::hybrid::hybrid_decrypt_wrapper
348    gmock
349    absl::strings
350    tink::core::hybrid_decrypt
351    tink::core::hybrid_encrypt
352    tink::core::primitive_set
353    tink::internal::registry_impl
354    tink::monitoring::monitoring
355    tink::monitoring::monitoring_client_mocks
356    tink::util::status
357    tink::util::test_matchers
358    tink::util::test_util
359    tink::proto::tink_cc_proto
360)
361
362tink_cc_test(
363  NAME hybrid_encrypt_wrapper_test
364  SRCS
365    hybrid_encrypt_wrapper_test.cc
366  DEPS
367    tink::hybrid::failing_hybrid
368    tink::hybrid::hybrid_encrypt_wrapper
369    gmock
370    absl::status
371    tink::core::hybrid_encrypt
372    tink::core::primitive_set
373    tink::internal::registry_impl
374    tink::monitoring::monitoring
375    tink::monitoring::monitoring_client_mocks
376    tink::util::status
377    tink::util::test_matchers
378    tink::util::test_util
379    tink::proto::tink_cc_proto
380)
381
382tink_cc_test(
383  NAME hybrid_decrypt_factory_test
384  SRCS
385    hybrid_decrypt_factory_test.cc
386  DEPS
387    tink::hybrid::ecies_aead_hkdf_public_key_manager
388    tink::hybrid::hybrid_config
389    tink::hybrid::hybrid_decrypt_factory
390    gmock
391    absl::memory
392    tink::core::crypto_format
393    tink::core::hybrid_decrypt
394    tink::core::hybrid_encrypt
395    tink::core::keyset_handle
396    tink::util::status
397    tink::util::test_keyset_handle
398    tink::util::test_util
399    tink::proto::ecies_aead_hkdf_cc_proto
400    tink::proto::tink_cc_proto
401)
402
403tink_cc_test(
404  NAME hybrid_encrypt_factory_test
405  SRCS
406    hybrid_encrypt_factory_test.cc
407  DEPS
408    tink::hybrid::hybrid_config
409    tink::hybrid::hybrid_encrypt_factory
410    gmock
411    tink::core::crypto_format
412    tink::core::hybrid_encrypt
413    tink::core::keyset_handle
414    tink::util::status
415    tink::util::test_keyset_handle
416    tink::util::test_util
417    tink::proto::ecies_aead_hkdf_cc_proto
418    tink::proto::tink_cc_proto
419)
420
421tink_cc_test(
422  NAME hybrid_key_templates_test
423  SRCS
424    hybrid_key_templates_test.cc
425  DEPS
426    tink::hybrid::ecies_aead_hkdf_private_key_manager
427    tink::hybrid::hybrid_config
428    tink::hybrid::hybrid_key_templates
429    gmock
430    tink::aead::aead_key_templates
431    tink::daead::deterministic_aead_key_templates
432    tink::hybrid::internal::hpke_private_key_manager
433    tink::util::test_matchers
434    tink::proto::common_cc_proto
435    tink::proto::ecies_aead_hkdf_cc_proto
436    tink::proto::hpke_cc_proto
437    tink::proto::tink_cc_proto
438  TAGS
439    exclude_if_openssl
440)
441
442tink_cc_test(
443  NAME ecies_aead_hkdf_dem_helper_test
444  SRCS
445    ecies_aead_hkdf_dem_helper_test.cc
446  DEPS
447    tink::hybrid::ecies_aead_hkdf_dem_helper
448    gmock
449    absl::status
450    tink::aead::aes_gcm_key_manager
451    tink::daead::aes_siv_key_manager
452    tink::util::secret_data
453    tink::util::test_matchers
454    tink::util::test_util
455)
456
457tink_cc_test(
458  NAME ecies_aead_hkdf_hybrid_decrypt_test
459  SRCS
460    ecies_aead_hkdf_hybrid_decrypt_test.cc
461  DEPS
462    tink::hybrid::ecies_aead_hkdf_hybrid_decrypt
463    tink::hybrid::ecies_aead_hkdf_hybrid_encrypt
464    gmock
465    absl::memory
466    tink::core::hybrid_decrypt
467    tink::aead::aes_ctr_hmac_aead_key_manager
468    tink::aead::aes_gcm_key_manager
469    tink::aead::xchacha20_poly1305_key_manager
470    tink::daead::aes_siv_key_manager
471    tink::internal::ec_util
472    tink::internal::ssl_util
473    tink::subtle::random
474    tink::util::enums
475    tink::util::statusor
476    tink::util::test_matchers
477    tink::util::test_util
478    tink::proto::aes_gcm_cc_proto
479    tink::proto::common_cc_proto
480    tink::proto::ecies_aead_hkdf_cc_proto
481)
482
483tink_cc_test(
484  NAME ecies_aead_hkdf_hybrid_encrypt_test
485  SRCS
486    ecies_aead_hkdf_hybrid_encrypt_test.cc
487  DEPS
488    tink::hybrid::ecies_aead_hkdf_hybrid_encrypt
489    gmock
490    absl::memory
491    tink::core::hybrid_encrypt
492    tink::aead::aes_gcm_key_manager
493    tink::internal::ec_util
494    tink::util::enums
495    tink::util::statusor
496    tink::util::test_util
497    tink::proto::common_cc_proto
498    tink::proto::ecies_aead_hkdf_cc_proto
499)
500
501tink_cc_test(
502  NAME ecies_aead_hkdf_private_key_manager_test
503  SRCS
504    ecies_aead_hkdf_private_key_manager_test.cc
505  DEPS
506    tink::hybrid::ecies_aead_hkdf_private_key_manager
507    tink::hybrid::ecies_aead_hkdf_public_key_manager
508    tink::hybrid::hybrid_key_templates
509    gmock
510    absl::status
511    tink::core::hybrid_decrypt
512    tink::core::registry
513    tink::aead::aead_key_templates
514    tink::aead::aes_ctr_hmac_aead_key_manager
515    tink::aead::aes_gcm_key_manager
516    tink::subtle::hybrid_test_util
517    tink::util::status
518    tink::util::statusor
519    tink::util::test_matchers
520    tink::util::test_util
521    tink::proto::aes_eax_cc_proto
522    tink::proto::common_cc_proto
523    tink::proto::ecies_aead_hkdf_cc_proto
524    tink::proto::tink_cc_proto
525)
526
527tink_cc_test(
528  NAME ecies_aead_hkdf_public_key_manager_test
529  SRCS
530    ecies_aead_hkdf_public_key_manager_test.cc
531  DEPS
532    tink::hybrid::ecies_aead_hkdf_private_key_manager
533    tink::hybrid::ecies_aead_hkdf_public_key_manager
534    gmock
535    absl::status
536    tink::core::hybrid_encrypt
537    tink::core::registry
538    tink::aead::aead_key_templates
539    tink::aead::aes_gcm_key_manager
540    tink::util::status
541    tink::util::statusor
542    tink::util::test_matchers
543    tink::util::test_util
544    tink::proto::aes_eax_cc_proto
545    tink::proto::common_cc_proto
546    tink::proto::ecies_aead_hkdf_cc_proto
547    tink::proto::tink_cc_proto
548)
549
550tink_cc_test(
551  NAME failing_hybrid_test
552  SRCS
553    failing_hybrid_test.cc
554  DEPS
555    tink::hybrid::failing_hybrid
556    gmock
557    absl::status
558    tink::util::test_matchers
559)
560