xref: /aosp_15_r20/external/tink/cc/streamingaead/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1package(default_visibility = ["//:__subpackages__"])
2
3licenses(["notice"])
4
5cc_library(
6    name = "streaming_aead_wrapper",
7    srcs = ["streaming_aead_wrapper.cc"],
8    hdrs = ["streaming_aead_wrapper.h"],
9    include_prefix = "tink/streamingaead",
10    deps = [
11        ":decrypting_input_stream",
12        ":decrypting_random_access_stream",
13        "//:crypto_format",
14        "//:input_stream",
15        "//:output_stream",
16        "//:primitive_set",
17        "//:primitive_wrapper",
18        "//:random_access_stream",
19        "//:streaming_aead",
20        "//proto:tink_cc_proto",
21        "//util:status",
22        "//util:statusor",
23        "@com_google_absl//absl/status",
24        "@com_google_absl//absl/strings",
25    ],
26)
27
28cc_library(
29    name = "streaming_aead_config",
30    srcs = ["streaming_aead_config.cc"],
31    hdrs = ["streaming_aead_config.h"],
32    include_prefix = "tink/streamingaead",
33    visibility = ["//visibility:public"],
34    deps = [
35        ":aes_ctr_hmac_streaming_key_manager",
36        ":aes_gcm_hkdf_streaming_key_manager",
37        ":streaming_aead_wrapper",
38        "//:registry",
39        "//config:config_util",
40        "//config:tink_fips",
41        "//proto:config_cc_proto",
42        "//util:status",
43        "@com_google_absl//absl/base:core_headers",
44        "@com_google_absl//absl/memory",
45    ],
46)
47
48cc_library(
49    name = "streaming_aead_key_templates",
50    srcs = ["streaming_aead_key_templates.cc"],
51    hdrs = ["streaming_aead_key_templates.h"],
52    include_prefix = "tink/streamingaead",
53    visibility = ["//visibility:public"],
54    deps = [
55        "//proto:aes_ctr_hmac_streaming_cc_proto",
56        "//proto:aes_gcm_hkdf_streaming_cc_proto",
57        "//proto:common_cc_proto",
58        "//proto:hmac_cc_proto",
59        "//proto:tink_cc_proto",
60    ],
61)
62
63cc_library(
64    name = "aes_gcm_hkdf_streaming_key_manager",
65    srcs = ["aes_gcm_hkdf_streaming_key_manager.cc"],
66    hdrs = ["aes_gcm_hkdf_streaming_key_manager.h"],
67    include_prefix = "tink/streamingaead",
68    deps = [
69        "//:core/key_type_manager",
70        "//:key_manager",
71        "//:streaming_aead",
72        "//proto:aes_gcm_hkdf_streaming_cc_proto",
73        "//proto:tink_cc_proto",
74        "//subtle:aes_gcm_hkdf_stream_segment_encrypter",
75        "//subtle:aes_gcm_hkdf_streaming",
76        "//subtle:random",
77        "//util:constants",
78        "//util:enums",
79        "//util:errors",
80        "//util:input_stream_util",
81        "//util:protobuf_helper",
82        "//util:secret_data",
83        "//util:status",
84        "//util:statusor",
85        "//util:validation",
86        "@com_google_absl//absl/memory",
87        "@com_google_absl//absl/status",
88        "@com_google_absl//absl/strings",
89    ],
90)
91
92cc_library(
93    name = "aes_ctr_hmac_streaming_key_manager",
94    srcs = ["aes_ctr_hmac_streaming_key_manager.cc"],
95    hdrs = ["aes_ctr_hmac_streaming_key_manager.h"],
96    include_prefix = "tink/streamingaead",
97    deps = [
98        "//:core/key_type_manager",
99        "//:streaming_aead",
100        "//proto:aes_ctr_hmac_streaming_cc_proto",
101        "//proto:hmac_cc_proto",
102        "//proto:tink_cc_proto",
103        "//subtle:aes_ctr_hmac_streaming",
104        "//subtle:random",
105        "//util:constants",
106        "//util:enums",
107        "//util:errors",
108        "//util:input_stream_util",
109        "//util:protobuf_helper",
110        "//util:secret_data",
111        "//util:status",
112        "//util:statusor",
113        "//util:validation",
114        "@com_google_absl//absl/memory",
115        "@com_google_absl//absl/status",
116        "@com_google_absl//absl/strings",
117    ],
118)
119
120cc_library(
121    name = "buffered_input_stream",
122    srcs = ["buffered_input_stream.cc"],
123    hdrs = ["buffered_input_stream.h"],
124    include_prefix = "tink/streamingaead",
125    deps = [
126        "//:input_stream",
127        "//util:errors",
128        "//util:status",
129        "//util:statusor",
130        "@com_google_absl//absl/memory",
131        "@com_google_absl//absl/status",
132    ],
133)
134
135cc_library(
136    name = "shared_input_stream",
137    srcs = ["shared_input_stream.h"],
138    hdrs = ["shared_input_stream.h"],
139    include_prefix = "tink/streamingaead",
140    deps = [
141        "//:input_stream",
142        "//util:statusor",
143    ],
144)
145
146cc_library(
147    name = "shared_random_access_stream",
148    srcs = ["shared_random_access_stream.h"],
149    hdrs = ["shared_random_access_stream.h"],
150    include_prefix = "tink/streamingaead",
151    deps = [
152        "//:random_access_stream",
153        "//util:buffer",
154        "//util:status",
155        "//util:statusor",
156    ],
157)
158
159cc_library(
160    name = "decrypting_input_stream",
161    srcs = ["decrypting_input_stream.cc"],
162    hdrs = ["decrypting_input_stream.h"],
163    include_prefix = "tink/streamingaead",
164    deps = [
165        ":buffered_input_stream",
166        ":shared_input_stream",
167        "//:input_stream",
168        "//:primitive_set",
169        "//:streaming_aead",
170        "//util:errors",
171        "//util:status",
172        "//util:statusor",
173        "@com_google_absl//absl/memory",
174        "@com_google_absl//absl/status",
175    ],
176)
177
178cc_library(
179    name = "decrypting_random_access_stream",
180    srcs = ["decrypting_random_access_stream.cc"],
181    hdrs = ["decrypting_random_access_stream.h"],
182    include_prefix = "tink/streamingaead",
183    deps = [
184        ":shared_random_access_stream",
185        "//:primitive_set",
186        "//:random_access_stream",
187        "//:streaming_aead",
188        "//util:buffer",
189        "//util:errors",
190        "//util:status",
191        "//util:statusor",
192        "@com_google_absl//absl/memory",
193        "@com_google_absl//absl/status",
194        "@com_google_absl//absl/synchronization",
195    ],
196)
197
198# tests
199
200cc_test(
201    name = "streaming_aead_wrapper_test",
202    size = "small",
203    srcs = ["streaming_aead_wrapper_test.cc"],
204    deps = [
205        ":aes_gcm_hkdf_streaming_key_manager",
206        ":streaming_aead_config",
207        ":streaming_aead_wrapper",
208        "//:input_stream",
209        "//:insecure_secret_key_access",
210        "//:output_stream",
211        "//:primitive_set",
212        "//:proto_keyset_format",
213        "//:random_access_stream",
214        "//:streaming_aead",
215        "//internal:test_random_access_stream",
216        "//proto:aes_gcm_hkdf_streaming_cc_proto",
217        "//proto:common_cc_proto",
218        "//proto:tink_cc_proto",
219        "//subtle:random",
220        "//subtle:streaming_aead_test_util",
221        "//subtle:test_util",
222        "//util:buffer",
223        "//util:istream_input_stream",
224        "//util:ostream_output_stream",
225        "//util:status",
226        "//util:test_matchers",
227        "//util:test_util",
228        "@com_google_absl//absl/memory",
229        "@com_google_absl//absl/status",
230        "@com_google_absl//absl/strings",
231        "@com_google_googletest//:gtest_main",
232    ],
233)
234
235cc_test(
236    name = "aes_gcm_hkdf_streaming_key_manager_test",
237    size = "small",
238    srcs = ["aes_gcm_hkdf_streaming_key_manager_test.cc"],
239    deps = [
240        ":aes_gcm_hkdf_streaming_key_manager",
241        "//:streaming_aead",
242        "//proto:aes_eax_cc_proto",
243        "//proto:aes_gcm_hkdf_streaming_cc_proto",
244        "//proto:common_cc_proto",
245        "//proto:tink_cc_proto",
246        "//subtle:aes_gcm_hkdf_streaming",
247        "//subtle:common_enums",
248        "//subtle:random",
249        "//subtle:streaming_aead_test_util",
250        "//subtle:test_util",
251        "//util:istream_input_stream",
252        "//util:ostream_output_stream",
253        "//util:secret_data",
254        "//util:status",
255        "//util:statusor",
256        "//util:test_matchers",
257        "@com_google_absl//absl/status",
258        "@com_google_absl//absl/strings",
259        "@com_google_googletest//:gtest_main",
260    ],
261)
262
263cc_test(
264    name = "aes_ctr_hmac_streaming_key_manager_test",
265    size = "small",
266    srcs = ["aes_ctr_hmac_streaming_key_manager_test.cc"],
267    deps = [
268        ":aes_ctr_hmac_streaming_key_manager",
269        "//:streaming_aead",
270        "//proto:aes_ctr_hmac_streaming_cc_proto",
271        "//proto:aes_eax_cc_proto",
272        "//proto:common_cc_proto",
273        "//proto:tink_cc_proto",
274        "//subtle:aes_ctr_hmac_streaming",
275        "//subtle:common_enums",
276        "//subtle:random",
277        "//subtle:streaming_aead_test_util",
278        "//subtle:test_util",
279        "//util:istream_input_stream",
280        "//util:ostream_output_stream",
281        "//util:secret_data",
282        "//util:status",
283        "//util:statusor",
284        "//util:test_matchers",
285        "@com_google_absl//absl/status",
286        "@com_google_absl//absl/strings",
287        "@com_google_googletest//:gtest_main",
288    ],
289)
290
291cc_test(
292    name = "streaming_aead_key_templates_test",
293    size = "small",
294    srcs = ["streaming_aead_key_templates_test.cc"],
295    deps = [
296        ":aes_ctr_hmac_streaming_key_manager",
297        ":aes_gcm_hkdf_streaming_key_manager",
298        ":streaming_aead_key_templates",
299        "//proto:aes_ctr_hmac_streaming_cc_proto",
300        "//proto:aes_gcm_hkdf_streaming_cc_proto",
301        "//proto:common_cc_proto",
302        "//proto:tink_cc_proto",
303        "//util:test_matchers",
304        "@com_google_googletest//:gtest_main",
305    ],
306)
307
308cc_test(
309    name = "streaming_aead_config_test",
310    size = "small",
311    srcs = ["streaming_aead_config_test.cc"],
312    tags = ["fips"],
313    deps = [
314        ":aes_ctr_hmac_streaming_key_manager",
315        ":aes_gcm_hkdf_streaming_key_manager",
316        ":streaming_aead_config",
317        ":streaming_aead_key_templates",
318        "//:keyset_handle",
319        "//:registry",
320        "//:streaming_aead",
321        "//config:tink_fips",
322        "//util:status",
323        "//util:test_matchers",
324        "//util:test_util",
325        "@com_google_absl//absl/memory",
326        "@com_google_absl//absl/status",
327        "@com_google_googletest//:gtest_main",
328    ],
329)
330
331cc_test(
332    name = "buffered_input_stream_test",
333    size = "small",
334    srcs = ["buffered_input_stream_test.cc"],
335    deps = [
336        ":buffered_input_stream",
337        "//:input_stream",
338        "//subtle:random",
339        "//subtle:test_util",
340        "//util:istream_input_stream",
341        "//util:status",
342        "//util:test_matchers",
343        "@com_google_absl//absl/memory",
344        "@com_google_absl//absl/status",
345        "@com_google_absl//absl/strings",
346        "@com_google_googletest//:gtest_main",
347    ],
348)
349
350cc_test(
351    name = "decrypting_input_stream_test",
352    size = "small",
353    srcs = ["decrypting_input_stream_test.cc"],
354    deps = [
355        ":decrypting_input_stream",
356        "//:input_stream",
357        "//:output_stream",
358        "//:primitive_set",
359        "//:streaming_aead",
360        "//proto:tink_cc_proto",
361        "//subtle:random",
362        "//subtle:test_util",
363        "//util:istream_input_stream",
364        "//util:ostream_output_stream",
365        "//util:status",
366        "//util:test_matchers",
367        "//util:test_util",
368        "@com_google_absl//absl/memory",
369        "@com_google_absl//absl/status",
370        "@com_google_absl//absl/strings",
371        "@com_google_googletest//:gtest_main",
372    ],
373)
374
375cc_test(
376    name = "decrypting_random_access_stream_test",
377    size = "small",
378    srcs = ["decrypting_random_access_stream_test.cc"],
379    deps = [
380        ":decrypting_random_access_stream",
381        "//:output_stream",
382        "//:primitive_set",
383        "//:random_access_stream",
384        "//:streaming_aead",
385        "//internal:test_random_access_stream",
386        "//proto:tink_cc_proto",
387        "//subtle:random",
388        "//subtle:test_util",
389        "//util:ostream_output_stream",
390        "//util:status",
391        "//util:test_matchers",
392        "//util:test_util",
393        "@com_google_absl//absl/memory",
394        "@com_google_absl//absl/status",
395        "@com_google_absl//absl/strings",
396        "@com_google_googletest//:gtest_main",
397    ],
398)
399
400cc_test(
401    name = "shared_input_stream_test",
402    size = "small",
403    srcs = ["shared_input_stream_test.cc"],
404    deps = [
405        ":buffered_input_stream",
406        ":shared_input_stream",
407        "//:input_stream",
408        "//subtle:random",
409        "//subtle:test_util",
410        "//util:istream_input_stream",
411        "//util:status",
412        "//util:test_matchers",
413        "@com_google_absl//absl/memory",
414        "@com_google_absl//absl/status",
415        "@com_google_absl//absl/strings",
416        "@com_google_googletest//:gtest_main",
417    ],
418)
419
420cc_test(
421    name = "shared_random_access_stream_test",
422    size = "small",
423    srcs = ["shared_random_access_stream_test.cc"],
424    deps = [
425        ":shared_random_access_stream",
426        "//:random_access_stream",
427        "//internal:test_random_access_stream",
428        "//subtle:random",
429        "@com_google_absl//absl/memory",
430        "@com_google_absl//absl/strings",
431        "@com_google_googletest//:gtest_main",
432    ],
433)
434