xref: /aosp_15_r20/external/tink/cc/daead/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1package(default_visibility = ["//:__subpackages__"])
2
3licenses(["notice"])
4
5cc_library(
6    name = "aes_siv_key_manager",
7    hdrs = ["aes_siv_key_manager.h"],
8    include_prefix = "tink/daead",
9    deps = [
10        "//:core/key_type_manager",
11        "//:deterministic_aead",
12        "//proto:aes_siv_cc_proto",
13        "//subtle:aes_siv_boringssl",
14        "//subtle:random",
15        "//util:constants",
16        "//util:errors",
17        "//util:input_stream_util",
18        "//util:protobuf_helper",
19        "//util:secret_data",
20        "//util:status",
21        "//util:statusor",
22        "//util:validation",
23        "@com_google_absl//absl/memory",
24        "@com_google_absl//absl/status",
25        "@com_google_absl//absl/strings",
26    ],
27)
28
29cc_library(
30    name = "deterministic_aead_wrapper",
31    srcs = ["deterministic_aead_wrapper.cc"],
32    hdrs = ["deterministic_aead_wrapper.h"],
33    include_prefix = "tink/daead",
34    deps = [
35        "//:crypto_format",
36        "//:deterministic_aead",
37        "//:primitive_set",
38        "//:primitive_wrapper",
39        "//internal:monitoring_util",
40        "//internal:registry_impl",
41        "//internal:util",
42        "//monitoring",
43        "//proto:tink_cc_proto",
44        "//util:status",
45        "//util:statusor",
46        "@com_google_absl//absl/status",
47        "@com_google_absl//absl/strings",
48    ],
49)
50
51cc_library(
52    name = "deterministic_aead_config",
53    srcs = ["deterministic_aead_config.cc"],
54    hdrs = ["deterministic_aead_config.h"],
55    include_prefix = "tink/daead",
56    visibility = ["//visibility:public"],
57    deps = [
58        ":aes_siv_key_manager",
59        ":aes_siv_proto_serialization",
60        ":deterministic_aead_wrapper",
61        "//:registry",
62        "//config:tink_fips",
63        "//proto:config_cc_proto",
64        "//util:status",
65        "@com_google_absl//absl/base:core_headers",
66        "@com_google_absl//absl/memory",
67    ],
68)
69
70cc_library(
71    name = "deterministic_aead_factory",
72    srcs = ["deterministic_aead_factory.cc"],
73    hdrs = ["deterministic_aead_factory.h"],
74    include_prefix = "tink/daead",
75    deps = [
76        ":deterministic_aead_wrapper",
77        "//:deterministic_aead",
78        "//:key_manager",
79        "//:keyset_handle",
80        "//:registry",
81        "//util:status",
82        "//util:statusor",
83        "@com_google_absl//absl/base:core_headers",
84    ],
85)
86
87cc_library(
88    name = "deterministic_aead_key_templates",
89    srcs = ["deterministic_aead_key_templates.cc"],
90    hdrs = ["deterministic_aead_key_templates.h"],
91    include_prefix = "tink/daead",
92    visibility = ["//visibility:public"],
93    deps = [
94        "//proto:aes_siv_cc_proto",
95        "//proto:common_cc_proto",
96        "//proto:tink_cc_proto",
97    ],
98)
99
100cc_library(
101    name = "failing_daead",
102    srcs = ["failing_daead.cc"],
103    hdrs = ["failing_daead.h"],
104    include_prefix = "tink/daead",
105    deps = [
106        "//:deterministic_aead",
107        "@com_google_absl//absl/strings",
108    ],
109)
110
111cc_library(
112    name = "deterministic_aead_parameters",
113    hdrs = ["deterministic_aead_parameters.h"],
114    include_prefix = "tink/daead",
115    deps = ["//:parameters"],
116)
117
118cc_library(
119    name = "deterministic_aead_key",
120    hdrs = ["deterministic_aead_key.h"],
121    include_prefix = "tink/daead",
122    deps = [
123        ":deterministic_aead_parameters",
124        "//:key",
125        "@com_google_absl//absl/strings",
126    ],
127)
128
129cc_library(
130    name = "aes_siv_parameters",
131    srcs = ["aes_siv_parameters.cc"],
132    hdrs = ["aes_siv_parameters.h"],
133    include_prefix = "tink/daead",
134    deps = [
135        ":deterministic_aead_parameters",
136        "//util:statusor",
137    ],
138)
139
140cc_library(
141    name = "aes_siv_key",
142    srcs = ["aes_siv_key.cc"],
143    hdrs = ["aes_siv_key.h"],
144    include_prefix = "tink/daead",
145    deps = [
146        ":aes_siv_parameters",
147        ":deterministic_aead_key",
148        "//:partial_key_access_token",
149        "//:restricted_data",
150        "//subtle:subtle_util",
151        "//util:status",
152        "//util:statusor",
153        "@com_google_absl//absl/strings",
154        "@com_google_absl//absl/types:optional",
155    ],
156)
157
158cc_library(
159    name = "aes_siv_proto_serialization",
160    srcs = ["aes_siv_proto_serialization.cc"],
161    hdrs = ["aes_siv_proto_serialization.h"],
162    include_prefix = "tink/daead",
163    deps = [
164        ":aes_siv_key",
165        ":aes_siv_parameters",
166        "//:partial_key_access",
167        "//:restricted_data",
168        "//:secret_key_access_token",
169        "//internal:key_parser",
170        "//internal:key_serializer",
171        "//internal:mutable_serialization_registry",
172        "//internal:parameters_parser",
173        "//internal:parameters_serializer",
174        "//internal:proto_key_serialization",
175        "//internal:proto_parameters_serialization",
176        "//proto:aes_siv_cc_proto",
177        "//proto:tink_cc_proto",
178        "//util:status",
179        "//util:statusor",
180        "@com_google_absl//absl/status",
181        "@com_google_absl//absl/types:optional",
182    ],
183)
184
185# tests
186
187cc_test(
188    name = "aes_siv_key_manager_test",
189    size = "small",
190    srcs = ["aes_siv_key_manager_test.cc"],
191    deps = [
192        ":aes_siv_key_manager",
193        "//:deterministic_aead",
194        "//proto:aes_siv_cc_proto",
195        "//util:istream_input_stream",
196        "//util:secret_data",
197        "//util:status",
198        "//util:statusor",
199        "//util:test_matchers",
200        "@com_google_absl//absl/status",
201        "@com_google_googletest//:gtest_main",
202    ],
203)
204
205cc_test(
206    name = "deterministic_aead_wrapper_test",
207    size = "small",
208    srcs = ["deterministic_aead_wrapper_test.cc"],
209    deps = [
210        ":deterministic_aead_wrapper",
211        ":failing_daead",
212        "//:deterministic_aead",
213        "//:primitive_set",
214        "//internal:registry_impl",
215        "//monitoring",
216        "//monitoring:monitoring_client_mocks",
217        "//util:status",
218        "//util:test_matchers",
219        "//util:test_util",
220        "@com_google_absl//absl/status",
221        "@com_google_googletest//:gtest_main",
222    ],
223)
224
225cc_test(
226    name = "deterministic_aead_config_test",
227    size = "small",
228    srcs = ["deterministic_aead_config_test.cc"],
229    tags = ["fips"],
230    deps = [
231        ":aes_siv_key",
232        ":aes_siv_key_manager",
233        ":aes_siv_parameters",
234        ":deterministic_aead_config",
235        ":deterministic_aead_key_templates",
236        "//:deterministic_aead",
237        "//:insecure_secret_key_access",
238        "//:keyset_handle",
239        "//:partial_key_access",
240        "//:registry",
241        "//config:tink_fips",
242        "//internal:mutable_serialization_registry",
243        "//internal:proto_key_serialization",
244        "//internal:proto_parameters_serialization",
245        "//util:status",
246        "//util:test_matchers",
247        "//util:test_util",
248        "@com_google_absl//absl/status",
249        "@com_google_googletest//:gtest_main",
250    ],
251)
252
253cc_test(
254    name = "deterministic_aead_factory_test",
255    size = "small",
256    srcs = ["deterministic_aead_factory_test.cc"],
257    deps = [
258        ":aes_siv_key_manager",
259        ":deterministic_aead_config",
260        ":deterministic_aead_factory",
261        "//:core/key_manager_impl",
262        "//:crypto_format",
263        "//:deterministic_aead",
264        "//:keyset_handle",
265        "//internal:key_info",
266        "//proto:aes_siv_cc_proto",
267        "//util:status",
268        "//util:test_keyset_handle",
269        "//util:test_util",
270        "@com_google_googletest//:gtest_main",
271    ],
272)
273
274cc_test(
275    name = "deterministic_aead_key_templates_test",
276    size = "small",
277    srcs = ["deterministic_aead_key_templates_test.cc"],
278    deps = [
279        ":aes_siv_key_manager",
280        ":deterministic_aead_key_templates",
281        "//:core/key_manager_impl",
282        "//proto:aes_siv_cc_proto",
283        "//proto:common_cc_proto",
284        "//proto:tink_cc_proto",
285        "@com_google_googletest//:gtest_main",
286    ],
287)
288
289cc_test(
290    name = "failing_daead_test",
291    srcs = ["failing_daead_test.cc"],
292    deps = [
293        ":failing_daead",
294        "//util:test_matchers",
295        "@com_google_absl//absl/status",
296        "@com_google_googletest//:gtest_main",
297    ],
298)
299
300cc_test(
301    name = "aes_siv_parameters_test",
302    srcs = ["aes_siv_parameters_test.cc"],
303    deps = [
304        ":aes_siv_parameters",
305        "//util:statusor",
306        "//util:test_matchers",
307        "@com_google_googletest//:gtest_main",
308    ],
309)
310
311cc_test(
312    name = "aes_siv_key_test",
313    srcs = ["aes_siv_key_test.cc"],
314    deps = [
315        ":aes_siv_key",
316        ":aes_siv_parameters",
317        "//:partial_key_access",
318        "//:restricted_data",
319        "//util:statusor",
320        "//util:test_matchers",
321        "@com_google_absl//absl/types:optional",
322        "@com_google_googletest//:gtest_main",
323    ],
324)
325
326cc_test(
327    name = "aes_siv_proto_serialization_test",
328    size = "small",
329    srcs = ["aes_siv_proto_serialization_test.cc"],
330    deps = [
331        ":aes_siv_key",
332        ":aes_siv_parameters",
333        ":aes_siv_proto_serialization",
334        "//:insecure_secret_key_access",
335        "//:partial_key_access",
336        "//:restricted_data",
337        "//internal:mutable_serialization_registry",
338        "//internal:proto_key_serialization",
339        "//internal:proto_parameters_serialization",
340        "//proto:aes_siv_cc_proto",
341        "//proto:tink_cc_proto",
342        "//subtle:random",
343        "//util:test_matchers",
344        "@com_google_googletest//:gtest_main",
345    ],
346)
347