xref: /aosp_15_r20/external/tink/cc/prf/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1package(
2    default_visibility = ["//:__subpackages__"],
3)
4
5licenses(["notice"])
6
7cc_library(
8    name = "hkdf_prf_key_manager",
9    hdrs = ["hkdf_prf_key_manager.h"],
10    include_prefix = "tink/prf",
11    deps = [
12        ":prf_set",
13        "//:core/key_type_manager",
14        "//:input_stream",
15        "//proto:common_cc_proto",
16        "//proto:hkdf_prf_cc_proto",
17        "//proto:tink_cc_proto",
18        "//subtle",
19        "//subtle/prf:hkdf_streaming_prf",
20        "//subtle/prf:prf_set_util",
21        "//subtle/prf:streaming_prf",
22        "//util:constants",
23        "//util:enums",
24        "//util:input_stream_util",
25        "//util:secret_data",
26        "//util:status",
27        "//util:statusor",
28        "//util:validation",
29        "@com_google_absl//absl/memory",
30        "@com_google_absl//absl/status",
31        "@com_google_absl//absl/strings",
32    ],
33)
34
35cc_library(
36    name = "prf_config",
37    srcs = ["prf_config.cc"],
38    hdrs = ["prf_config.h"],
39    include_prefix = "tink/prf",
40    visibility = ["//visibility:public"],
41    deps = [
42        ":aes_cmac_prf_key_manager",
43        ":hkdf_prf_key_manager",
44        ":hmac_prf_key_manager",
45        ":prf_set_wrapper",
46        "//:registry",
47        "//config:tink_fips",
48        "//proto:tink_cc_proto",
49        "//util:status",
50    ],
51)
52
53cc_library(
54    name = "prf_key_templates",
55    srcs = ["prf_key_templates.cc"],
56    hdrs = ["prf_key_templates.h"],
57    include_prefix = "tink/prf",
58    visibility = ["//visibility:public"],
59    deps = [
60        ":aes_cmac_prf_key_manager",
61        ":hkdf_prf_key_manager",
62        ":hmac_prf_key_manager",
63        "//proto:aes_cmac_prf_cc_proto",
64        "//proto:hkdf_prf_cc_proto",
65        "//proto:hmac_prf_cc_proto",
66        "//proto:tink_cc_proto",
67        "@com_google_absl//absl/memory",
68    ],
69)
70
71cc_library(
72    name = "prf_set",
73    srcs = ["prf_set.cc"],
74    hdrs = ["prf_set.h"],
75    include_prefix = "tink/prf",
76    visibility = ["//visibility:public"],
77    deps = [
78        "//util:statusor",
79        "@com_google_absl//absl/status",
80        "@com_google_absl//absl/strings",
81    ],
82)
83
84cc_library(
85    name = "prf_set_wrapper",
86    srcs = ["prf_set_wrapper.cc"],
87    hdrs = ["prf_set_wrapper.h"],
88    include_prefix = "tink/prf",
89    deps = [
90        ":prf_set",
91        "//:primitive_set",
92        "//:primitive_wrapper",
93        "//internal:monitoring_util",
94        "//internal:registry_impl",
95        "//monitoring",
96        "//proto:tink_cc_proto",
97        "//util:status",
98        "//util:statusor",
99        "@com_google_absl//absl/memory",
100        "@com_google_absl//absl/status",
101        "@com_google_absl//absl/status:statusor",
102    ],
103)
104
105cc_library(
106    name = "aes_cmac_prf_key_manager",
107    hdrs = ["aes_cmac_prf_key_manager.h"],
108    include_prefix = "tink/prf",
109    deps = [
110        "//:core/key_type_manager",
111        "//:key_manager",
112        "//proto:aes_cmac_prf_cc_proto",
113        "//proto:tink_cc_proto",
114        "//subtle:random",
115        "//subtle:stateful_cmac_boringssl",
116        "//subtle/prf:prf_set_util",
117        "//util:constants",
118        "//util:errors",
119        "//util:input_stream_util",
120        "//util:protobuf_helper",
121        "//util:secret_data",
122        "//util:status",
123        "//util:statusor",
124        "//util:validation",
125        "@com_google_absl//absl/memory",
126        "@com_google_absl//absl/status",
127        "@com_google_absl//absl/strings",
128    ],
129)
130
131cc_library(
132    name = "hmac_prf_key_manager",
133    srcs = ["hmac_prf_key_manager.cc"],
134    hdrs = ["hmac_prf_key_manager.h"],
135    include_prefix = "tink/prf",
136    deps = [
137        "//:core/key_type_manager",
138        "//:key_manager",
139        "//internal:fips_utils",
140        "//proto:hmac_prf_cc_proto",
141        "//proto:tink_cc_proto",
142        "//subtle:common_enums",
143        "//subtle:random",
144        "//subtle:stateful_hmac_boringssl",
145        "//subtle/prf:prf_set_util",
146        "//util:constants",
147        "//util:enums",
148        "//util:errors",
149        "//util:input_stream_util",
150        "//util:protobuf_helper",
151        "//util:secret_data",
152        "//util:status",
153        "//util:statusor",
154        "//util:validation",
155        "@com_google_absl//absl/memory",
156        "@com_google_absl//absl/status",
157        "@com_google_absl//absl/strings",
158    ],
159)
160
161cc_test(
162    name = "hkdf_prf_key_manager_test",
163    srcs = ["hkdf_prf_key_manager_test.cc"],
164    deps = [
165        ":hkdf_prf_key_manager",
166        "//proto:common_cc_proto",
167        "//subtle",
168        "//subtle/prf:hkdf_streaming_prf",
169        "//subtle/prf:prf_set_util",
170        "//util:input_stream_util",
171        "//util:istream_input_stream",
172        "//util:secret_data",
173        "//util:test_matchers",
174        "@com_google_absl//absl/status",
175        "@com_google_googletest//:gtest_main",
176    ],
177)
178
179cc_test(
180    name = "prf_key_templates_test",
181    srcs = ["prf_key_templates_test.cc"],
182    deps = [
183        ":aes_cmac_prf_key_manager",
184        ":hkdf_prf_key_manager",
185        ":hmac_prf_key_manager",
186        ":prf_key_templates",
187        "//proto:aes_cmac_prf_cc_proto",
188        "//proto:hmac_prf_cc_proto",
189        "//util:test_matchers",
190        "@com_google_absl//absl/memory",
191        "@com_google_googletest//:gtest_main",
192    ],
193)
194
195cc_test(
196    name = "prf_set_wrapper_test",
197    srcs = ["prf_set_wrapper_test.cc"],
198    deps = [
199        ":prf_set",
200        ":prf_set_wrapper",
201        "//:primitive_set",
202        "//:registry",
203        "//monitoring:monitoring_client_mocks",
204        "//proto:tink_cc_proto",
205        "//util:status",
206        "//util:statusor",
207        "//util:test_matchers",
208        "@com_google_absl//absl/memory",
209        "@com_google_absl//absl/status",
210        "@com_google_absl//absl/strings",
211        "@com_google_googletest//:gtest_main",
212    ],
213)
214
215cc_test(
216    name = "prf_set_test",
217    srcs = ["prf_set_test.cc"],
218    deps = [
219        ":prf_config",
220        ":prf_key_templates",
221        ":prf_set",
222        "//:keyset_handle",
223        "//:keyset_manager",
224        "//util:statusor",
225        "//util:test_matchers",
226        "//util:test_util",
227        "@com_google_absl//absl/memory",
228        "@com_google_absl//absl/strings",
229        "@com_google_googletest//:gtest_main",
230    ],
231)
232
233cc_test(
234    name = "aes_cmac_prf_key_manager_test",
235    srcs = ["aes_cmac_prf_key_manager_test.cc"],
236    deps = [
237        ":aes_cmac_prf_key_manager",
238        "//proto:aes_cmac_prf_cc_proto",
239        "//subtle:aes_cmac_boringssl",
240        "//util:istream_input_stream",
241        "//util:status",
242        "//util:statusor",
243        "//util:test_matchers",
244        "@com_google_googletest//:gtest_main",
245    ],
246)
247
248cc_test(
249    name = "hmac_prf_key_manager_test",
250    srcs = ["hmac_prf_key_manager_test.cc"],
251    deps = [
252        ":hmac_prf_key_manager",
253        ":prf_set",
254        "//:core/key_manager_impl",
255        "//proto:hmac_prf_cc_proto",
256        "//subtle:hmac_boringssl",
257        "//util:istream_input_stream",
258        "//util:secret_data",
259        "//util:status",
260        "//util:statusor",
261        "//util:test_matchers",
262        "@com_google_absl//absl/status",
263        "@com_google_googletest//:gtest_main",
264    ],
265)
266
267cc_test(
268    name = "prf_config_test",
269    srcs = ["prf_config_test.cc"],
270    tags = ["fips"],
271    deps = [
272        ":hmac_prf_key_manager",
273        ":prf_config",
274        ":prf_key_templates",
275        ":prf_set",
276        "//:tink_cc",
277        "//internal:fips_utils",
278        "//util:status",
279        "//util:test_matchers",
280        "//util:test_util",
281        "@boringssl//:crypto",
282        "@com_google_absl//absl/status",
283        "@com_google_googletest//:gtest_main",
284    ],
285)
286
287cc_library(
288    name = "failing_prfset",
289    srcs = ["failing_prfset.cc"],
290    hdrs = ["failing_prfset.h"],
291    include_prefix = "tink/prf",
292    deps = [
293        ":prf_set",
294        "@com_google_absl//absl/strings",
295    ],
296)
297
298cc_test(
299    name = "failing_prfset_test",
300    srcs = ["failing_prfset_test.cc"],
301    deps = [
302        ":failing_prfset",
303        "//util:test_matchers",
304        "@com_google_absl//absl/status",
305        "@com_google_googletest//:gtest_main",
306    ],
307)
308