xref: /aosp_15_r20/external/cronet/third_party/anonymous_tokens/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1import("//third_party/protobuf/proto_library.gni")
2
3config("anonymous_tokens_config") {
4  include_dirs = [
5    "overrides",
6    "src",
7  ]
8}
9
10source_set("anonymous_tokens_public_key_client") {
11  sources = [
12    "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client.cc",
13    "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client.h",
14  ]
15
16  public_configs = [ ":anonymous_tokens_config" ]
17
18  deps = [
19    ":proto_utils",
20    ":status_utils",
21  ]
22  public_deps = [
23    ":anonymous_tokens_cc_proto",
24    "//third_party/abseil-cpp:absl",
25  ]
26}
27source_set("anonymous_tokens_rsa_bssa_client") {
28  sources = [
29    "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client.cc",
30    "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client.h",
31  ]
32
33  public_configs = [ ":anonymous_tokens_config" ]
34
35  deps = [
36    ":anonymous_tokens_pb_openssl_converters",
37    ":crypto_utils",
38    ":rsa_blinder",
39    ":status_utils",
40  ]
41  public_deps = [
42    ":anonymous_tokens_cc_proto",
43    ":proto_utils",
44    "//third_party/abseil-cpp:absl",
45  ]
46}
47source_set("anonymous_tokens_redemption_client") {
48  sources = [
49    "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client.cc",
50    "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client.h",
51  ]
52
53  public_configs = [ ":anonymous_tokens_config" ]
54
55  deps = [ ":constants" ]
56  public_deps = [
57    ":anonymous_tokens_cc_proto",
58    "//third_party/abseil-cpp:absl",
59  ]
60}
61
62source_set("anonymous_tokens_pb_openssl_converters") {
63  sources = [
64    "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters.cc",
65    "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters.h",
66  ]
67
68  public_configs = [ ":anonymous_tokens_config" ]
69
70  deps = [
71    ":anonymous_tokens_cc_proto",
72    ":constants",
73    ":crypto_utils",
74    ":status_utils",
75    "//third_party/abseil-cpp:absl",
76    "//third_party/boringssl",
77  ]
78  public_deps = [
79    ":anonymous_tokens_cc_proto",
80    "//third_party/abseil-cpp:absl",
81  ]
82}
83
84proto_library("anonymous_tokens_cc_proto") {
85  sources = [ "src/anonymous_tokens/proto/anonymous_tokens.proto" ]
86
87  component_build_force_source_set = true
88  cc_generator_options = "lite=true:"
89
90  proto_in_dir = "src"
91}
92
93if (is_android) {
94  import("//build/config/android/rules.gni")
95
96  proto_java_library("anonymous_tokens_java_proto") {
97    sources = [ "src/anonymous_tokens/proto/anonymous_tokens.proto" ]
98
99    proto_path = "src/"
100  }
101}
102
103source_set("proto_utils") {
104  sources = [
105    "src/anonymous_tokens/cpp/shared/proto_utils.cc",
106    "src/anonymous_tokens/cpp/shared/proto_utils.h",
107  ]
108
109  public_configs = [ ":anonymous_tokens_config" ]
110
111  public_deps = [
112    ":anonymous_tokens_cc_proto",
113    "//third_party/abseil-cpp:absl",
114  ]
115}
116source_set("status_utils") {
117  sources = [ "src/anonymous_tokens/cpp/shared/status_utils.h" ]
118
119  public_configs = [ ":anonymous_tokens_config" ]
120
121  public_deps = [ "//third_party/abseil-cpp:absl" ]
122}
123
124source_set("blinder") {
125  sources = [ "src/anonymous_tokens/cpp/crypto/blinder.h" ]
126  public_configs = [ ":anonymous_tokens_config" ]
127  public_deps = [ "//third_party/abseil-cpp:absl" ]
128}
129
130source_set("constants") {
131  sources = [ "src/anonymous_tokens/cpp/crypto/constants.h" ]
132  public_configs = [ ":anonymous_tokens_config" ]
133  public_deps = [ "//third_party/abseil-cpp:absl" ]
134}
135
136source_set("crypto_utils") {
137  sources = [
138    "src/anonymous_tokens/cpp/crypto/crypto_utils.cc",
139    "src/anonymous_tokens/cpp/crypto/crypto_utils.h",
140  ]
141  public_configs = [ ":anonymous_tokens_config" ]
142  deps = [
143    ":constants",
144    ":status_utils",
145  ]
146  public_deps = [
147    ":anonymous_tokens_cc_proto",
148    "//third_party/abseil-cpp:absl",
149    "//third_party/boringssl",
150  ]
151}
152
153source_set("rsa_blinder") {
154  sources = [
155    "src/anonymous_tokens/cpp/crypto/rsa_blinder.cc",
156    "src/anonymous_tokens/cpp/crypto/rsa_blinder.h",
157  ]
158  public_configs = [ ":anonymous_tokens_config" ]
159  deps = [
160    ":blinder",
161    ":constants",
162    ":crypto_utils",
163    ":status_utils",
164  ]
165  public_deps = [
166    ":anonymous_tokens_cc_proto",
167    "//third_party/abseil-cpp:absl",
168    "//third_party/boringssl",
169  ]
170}
171
172source_set("blind_signer") {
173  sources = [ "src/anonymous_tokens/cpp/crypto/blind_signer.h" ]
174  public_configs = [ ":anonymous_tokens_config" ]
175  public_deps = [ "//third_party/abseil-cpp:absl" ]
176}
177
178source_set("rsa_blind_signer") {
179  sources = [
180    "src/anonymous_tokens/cpp/crypto/rsa_blind_signer.cc",
181    "src/anonymous_tokens/cpp/crypto/rsa_blind_signer.h",
182  ]
183  public_configs = [ ":anonymous_tokens_config" ]
184  deps = [
185    ":anonymous_tokens_pb_openssl_converters",
186    ":blind_signer",
187    ":constants",
188    ":crypto_utils",
189    ":status_utils",
190  ]
191  public_deps = [
192    ":anonymous_tokens_cc_proto",
193    "//third_party/abseil-cpp:absl",
194    "//third_party/boringssl",
195  ]
196}
197
198source_set("verifier") {
199  sources = [ "src/anonymous_tokens/cpp/crypto/verifier.h" ]
200  public_configs = [ ":anonymous_tokens_config" ]
201  public_deps = [ "//third_party/abseil-cpp:absl" ]
202}
203
204source_set("rsa_ssa_pss_verifier") {
205  sources = [
206    "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier.cc",
207    "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier.h",
208  ]
209  public_configs = [ ":anonymous_tokens_config" ]
210  deps = [
211    ":anonymous_tokens_pb_openssl_converters",
212    ":constants",
213    ":crypto_utils",
214    ":status_utils",
215    ":verifier",
216  ]
217  public_deps = [
218    ":anonymous_tokens_cc_proto",
219    "//third_party/abseil-cpp:absl",
220    "//third_party/boringssl",
221  ]
222}
223
224source_set("rsa_bssa_public_metadata_client") {
225  sources = [
226    "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client.cc",
227    "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client.h",
228  ]
229  public_configs = [ ":anonymous_tokens_config" ]
230  deps = [
231    ":constants",
232    ":crypto_utils",
233    ":rsa_blinder",
234    ":status_utils",
235    ":tokens_encodings",
236  ]
237  public_deps = [
238    "//third_party/abseil-cpp:absl",
239    "//third_party/boringssl",
240  ]
241}
242
243source_set("tokens_encodings") {
244  sources = [
245    "src/anonymous_tokens/cpp/privacy_pass/token_encodings.cc",
246    "src/anonymous_tokens/cpp/privacy_pass/token_encodings.h",
247  ]
248  public_configs = [ ":anonymous_tokens_config" ]
249  deps = [ ":status_utils" ]
250  public_deps = [
251    "//third_party/abseil-cpp:absl",
252    "//third_party/boringssl",
253  ]
254}
255
256static_library("anonymous_tokens_test_support") {
257  testonly = true
258  sources = [
259    "overrides/anonymous_tokens/cpp/testing/testdata_utils.h",
260    "src/anonymous_tokens/cpp/testing/proto_utils.cc",
261    "src/anonymous_tokens/cpp/testing/proto_utils.h",
262    "src/anonymous_tokens/cpp/testing/utils.cc",
263    "src/anonymous_tokens/cpp/testing/utils.h",
264    "testdata_utils_impl.cc",
265    "testdata_utils_impl.h",
266  ]
267  public_configs = [ ":anonymous_tokens_config" ]
268  deps = [
269    ":constants",
270    ":crypto_utils",
271    ":status_utils",
272    "//base:base",
273  ]
274  public_deps = [
275    ":anonymous_tokens_cc_proto",
276    "//third_party/abseil-cpp:absl",
277    "//third_party/boringssl",
278  ]
279}
280
281bundle_data("test_data") {
282  visibility = [ ":anonymous_tokens_tests" ]
283  testonly = true
284  sources = [
285    "src/anonymous_tokens/testdata/strong_rsa_modulus2048_example.binarypb",
286    "src/anonymous_tokens/testdata/strong_rsa_modulus2048_example_2.binarypb",
287    "src/anonymous_tokens/testdata/strong_rsa_modulus3072_example.binarypb",
288    "src/anonymous_tokens/testdata/strong_rsa_modulus4096_example.binarypb",
289  ]
290  outputs = [ "{{bundle_resources_dir}}/" +
291              "{{source_root_relative_dir}}/{{source_file_part}}" ]
292}
293
294source_set("anonymous_tokens_tests") {
295  testonly = true
296  sources = [
297    "src/anonymous_tokens/cpp/client/anonymous_tokens_public_key_client_test.cc",
298    "src/anonymous_tokens/cpp/client/anonymous_tokens_redemption_client_test.cc",
299    "src/anonymous_tokens/cpp/client/anonymous_tokens_rsa_bssa_client_test.cc",
300    "src/anonymous_tokens/cpp/crypto/anonymous_tokens_pb_openssl_converters_test.cc",
301    "src/anonymous_tokens/cpp/crypto/crypto_utils_test.cc",
302    "src/anonymous_tokens/cpp/crypto/rsa_blind_signer_test.cc",
303    "src/anonymous_tokens/cpp/crypto/rsa_blinder_test.cc",
304    "src/anonymous_tokens/cpp/crypto/rsa_ssa_pss_verifier_test.cc",
305    "src/anonymous_tokens/cpp/privacy_pass/rsa_bssa_public_metadata_client_test.cc",
306    "src/anonymous_tokens/cpp/privacy_pass/token_encodings_test.cc",
307    "src/anonymous_tokens/cpp/shared/proto_utils_test.cc",
308  ]
309
310  data = [ "src/anonymous_tokens/testdata/" ]
311  public_configs = [ ":anonymous_tokens_config" ]
312  deps = [
313    ":anonymous_tokens_pb_openssl_converters",
314    ":anonymous_tokens_public_key_client",
315    ":anonymous_tokens_redemption_client",
316    ":anonymous_tokens_rsa_bssa_client",
317    ":anonymous_tokens_test_support",
318    ":constants",
319    ":crypto_utils",
320    ":proto_utils",
321    ":rsa_blind_signer",
322    ":rsa_blinder",
323    ":rsa_bssa_public_metadata_client",
324    ":rsa_ssa_pss_verifier",
325    ":status_utils",
326    ":tokens_encodings",
327    "//testing/gmock",
328    "//testing/gtest",
329    "//third_party/abseil-cpp:absl",
330  ]
331  if (is_ios) {
332    deps += [ ":test_data" ]
333  }
334}
335