xref: /aosp_15_r20/external/tink/cc/jwt/BUILD.bazel (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1*e7b1675dSTing-Kang Changpackage(default_visibility = ["//:__subpackages__"])
2*e7b1675dSTing-Kang Chang
3*e7b1675dSTing-Kang Changlicenses(["notice"])
4*e7b1675dSTing-Kang Chang
5*e7b1675dSTing-Kang Changcc_library(
6*e7b1675dSTing-Kang Chang    name = "raw_jwt",
7*e7b1675dSTing-Kang Chang    srcs = ["raw_jwt.cc"],
8*e7b1675dSTing-Kang Chang    hdrs = ["raw_jwt.h"],
9*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
10*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
11*e7b1675dSTing-Kang Chang    deps = [
12*e7b1675dSTing-Kang Chang        "//jwt/internal:json_util",
13*e7b1675dSTing-Kang Chang        "//util:status",
14*e7b1675dSTing-Kang Chang        "//util:statusor",
15*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/status",
16*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
17*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings:str_format",
18*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/time",
19*e7b1675dSTing-Kang Chang        "@com_google_protobuf//:protobuf",
20*e7b1675dSTing-Kang Chang    ],
21*e7b1675dSTing-Kang Chang)
22*e7b1675dSTing-Kang Chang
23*e7b1675dSTing-Kang Changcc_library(
24*e7b1675dSTing-Kang Chang    name = "verified_jwt",
25*e7b1675dSTing-Kang Chang    srcs = ["verified_jwt.cc"],
26*e7b1675dSTing-Kang Chang    hdrs = ["verified_jwt.h"],
27*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
28*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
29*e7b1675dSTing-Kang Chang    deps = [
30*e7b1675dSTing-Kang Chang        ":raw_jwt",
31*e7b1675dSTing-Kang Chang        "//jwt/internal:json_util",
32*e7b1675dSTing-Kang Chang        "//util:status",
33*e7b1675dSTing-Kang Chang        "//util:statusor",
34*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
35*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings:str_format",
36*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/time",
37*e7b1675dSTing-Kang Chang        "@com_google_protobuf//:protobuf",
38*e7b1675dSTing-Kang Chang    ],
39*e7b1675dSTing-Kang Chang)
40*e7b1675dSTing-Kang Chang
41*e7b1675dSTing-Kang Changcc_library(
42*e7b1675dSTing-Kang Chang    name = "jwt_validator",
43*e7b1675dSTing-Kang Chang    srcs = ["jwt_validator.cc"],
44*e7b1675dSTing-Kang Chang    hdrs = ["jwt_validator.h"],
45*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
46*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
47*e7b1675dSTing-Kang Chang    deps = [
48*e7b1675dSTing-Kang Chang        ":raw_jwt",
49*e7b1675dSTing-Kang Chang        "//util:status",
50*e7b1675dSTing-Kang Chang        "//util:statusor",
51*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/status",
52*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
53*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/time",
54*e7b1675dSTing-Kang Chang    ],
55*e7b1675dSTing-Kang Chang)
56*e7b1675dSTing-Kang Chang
57*e7b1675dSTing-Kang Changcc_library(
58*e7b1675dSTing-Kang Chang    name = "jwt_mac",
59*e7b1675dSTing-Kang Chang    hdrs = ["jwt_mac.h"],
60*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
61*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
62*e7b1675dSTing-Kang Chang    deps = [
63*e7b1675dSTing-Kang Chang        ":jwt_validator",
64*e7b1675dSTing-Kang Chang        ":raw_jwt",
65*e7b1675dSTing-Kang Chang        ":verified_jwt",
66*e7b1675dSTing-Kang Chang        "//util:status",
67*e7b1675dSTing-Kang Chang        "//util:statusor",
68*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
69*e7b1675dSTing-Kang Chang    ],
70*e7b1675dSTing-Kang Chang)
71*e7b1675dSTing-Kang Chang
72*e7b1675dSTing-Kang Changcc_library(
73*e7b1675dSTing-Kang Chang    name = "jwt_public_key_sign",
74*e7b1675dSTing-Kang Chang    hdrs = ["jwt_public_key_sign.h"],
75*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
76*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
77*e7b1675dSTing-Kang Chang    deps = [
78*e7b1675dSTing-Kang Chang        ":raw_jwt",
79*e7b1675dSTing-Kang Chang        "//util:status",
80*e7b1675dSTing-Kang Chang        "//util:statusor",
81*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
82*e7b1675dSTing-Kang Chang    ],
83*e7b1675dSTing-Kang Chang)
84*e7b1675dSTing-Kang Chang
85*e7b1675dSTing-Kang Changcc_library(
86*e7b1675dSTing-Kang Chang    name = "jwt_public_key_verify",
87*e7b1675dSTing-Kang Chang    hdrs = ["jwt_public_key_verify.h"],
88*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
89*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
90*e7b1675dSTing-Kang Chang    deps = [
91*e7b1675dSTing-Kang Chang        ":jwt_validator",
92*e7b1675dSTing-Kang Chang        ":verified_jwt",
93*e7b1675dSTing-Kang Chang        "//util:status",
94*e7b1675dSTing-Kang Chang        "//util:statusor",
95*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
96*e7b1675dSTing-Kang Chang    ],
97*e7b1675dSTing-Kang Chang)
98*e7b1675dSTing-Kang Chang
99*e7b1675dSTing-Kang Changcc_library(
100*e7b1675dSTing-Kang Chang    name = "jwt_mac_config",
101*e7b1675dSTing-Kang Chang    srcs = ["jwt_mac_config.cc"],
102*e7b1675dSTing-Kang Chang    hdrs = ["jwt_mac_config.h"],
103*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
104*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
105*e7b1675dSTing-Kang Chang    deps = [
106*e7b1675dSTing-Kang Chang        "//:registry",
107*e7b1675dSTing-Kang Chang        "//config:config_util",
108*e7b1675dSTing-Kang Chang        "//config:tink_fips",
109*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_hmac_key_manager",
110*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_mac_wrapper",
111*e7b1675dSTing-Kang Chang        "//proto:config_cc_proto",
112*e7b1675dSTing-Kang Chang        "//util:status",
113*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/base:core_headers",
114*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/memory",
115*e7b1675dSTing-Kang Chang    ],
116*e7b1675dSTing-Kang Chang)
117*e7b1675dSTing-Kang Chang
118*e7b1675dSTing-Kang Changcc_library(
119*e7b1675dSTing-Kang Chang    name = "jwt_key_templates",
120*e7b1675dSTing-Kang Chang    srcs = ["jwt_key_templates.cc"],
121*e7b1675dSTing-Kang Chang    hdrs = ["jwt_key_templates.h"],
122*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
123*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
124*e7b1675dSTing-Kang Chang    deps = [
125*e7b1675dSTing-Kang Chang        "//internal:bn_util",
126*e7b1675dSTing-Kang Chang        "//internal:ssl_unique_ptr",
127*e7b1675dSTing-Kang Chang        "//proto:common_cc_proto",
128*e7b1675dSTing-Kang Chang        "//proto:jwt_ecdsa_cc_proto",
129*e7b1675dSTing-Kang Chang        "//proto:jwt_hmac_cc_proto",
130*e7b1675dSTing-Kang Chang        "//proto:jwt_rsa_ssa_pkcs1_cc_proto",
131*e7b1675dSTing-Kang Chang        "//proto:jwt_rsa_ssa_pss_cc_proto",
132*e7b1675dSTing-Kang Chang        "//proto:tink_cc_proto",
133*e7b1675dSTing-Kang Chang        "//util:statusor",
134*e7b1675dSTing-Kang Chang        "@boringssl//:crypto",
135*e7b1675dSTing-Kang Chang    ],
136*e7b1675dSTing-Kang Chang)
137*e7b1675dSTing-Kang Chang
138*e7b1675dSTing-Kang Changcc_library(
139*e7b1675dSTing-Kang Chang    name = "jwk_set_converter",
140*e7b1675dSTing-Kang Chang    srcs = ["jwk_set_converter.cc"],
141*e7b1675dSTing-Kang Chang    hdrs = ["jwk_set_converter.h"],
142*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
143*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
144*e7b1675dSTing-Kang Chang    deps = [
145*e7b1675dSTing-Kang Chang        ":jwt_public_key_sign",
146*e7b1675dSTing-Kang Chang        ":raw_jwt",
147*e7b1675dSTing-Kang Chang        "//:binary_keyset_writer",
148*e7b1675dSTing-Kang Chang        "//:keyset_handle",
149*e7b1675dSTing-Kang Chang        "//jwt/internal:json_util",
150*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_format",
151*e7b1675dSTing-Kang Chang        "//proto:common_cc_proto",
152*e7b1675dSTing-Kang Chang        "//proto:jwt_ecdsa_cc_proto",
153*e7b1675dSTing-Kang Chang        "//proto:jwt_rsa_ssa_pkcs1_cc_proto",
154*e7b1675dSTing-Kang Chang        "//proto:jwt_rsa_ssa_pss_cc_proto",
155*e7b1675dSTing-Kang Chang        "//proto:tink_cc_proto",
156*e7b1675dSTing-Kang Chang        "//util:keyset_util",
157*e7b1675dSTing-Kang Chang        "//util:statusor",
158*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
159*e7b1675dSTing-Kang Chang    ],
160*e7b1675dSTing-Kang Chang)
161*e7b1675dSTing-Kang Chang
162*e7b1675dSTing-Kang Changcc_library(
163*e7b1675dSTing-Kang Chang    name = "jwt_signature_config",
164*e7b1675dSTing-Kang Chang    srcs = ["jwt_signature_config.cc"],
165*e7b1675dSTing-Kang Chang    hdrs = ["jwt_signature_config.h"],
166*e7b1675dSTing-Kang Chang    include_prefix = "tink/jwt",
167*e7b1675dSTing-Kang Chang    visibility = ["//visibility:public"],
168*e7b1675dSTing-Kang Chang    deps = [
169*e7b1675dSTing-Kang Chang        "//:registry",
170*e7b1675dSTing-Kang Chang        "//config:config_util",
171*e7b1675dSTing-Kang Chang        "//config:tink_fips",
172*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_ecdsa_sign_key_manager",
173*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_ecdsa_verify_key_manager",
174*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_public_key_sign_wrapper",
175*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_public_key_verify_wrapper",
176*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_rsa_ssa_pkcs1_sign_key_manager",
177*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_rsa_ssa_pkcs1_verify_key_manager",
178*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_rsa_ssa_pss_sign_key_manager",
179*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_rsa_ssa_pss_verify_key_manager",
180*e7b1675dSTing-Kang Chang        "//proto:config_cc_proto",
181*e7b1675dSTing-Kang Chang        "//util:status",
182*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/base:core_headers",
183*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/memory",
184*e7b1675dSTing-Kang Chang    ],
185*e7b1675dSTing-Kang Chang)
186*e7b1675dSTing-Kang Chang
187*e7b1675dSTing-Kang Chang# tests
188*e7b1675dSTing-Kang Chang
189*e7b1675dSTing-Kang Changcc_test(
190*e7b1675dSTing-Kang Chang    name = "raw_jwt_test",
191*e7b1675dSTing-Kang Chang    size = "small",
192*e7b1675dSTing-Kang Chang    srcs = ["raw_jwt_test.cc"],
193*e7b1675dSTing-Kang Chang    deps = [
194*e7b1675dSTing-Kang Chang        ":raw_jwt",
195*e7b1675dSTing-Kang Chang        "//util:test_matchers",
196*e7b1675dSTing-Kang Chang        "//util:test_util",
197*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
198*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/time",
199*e7b1675dSTing-Kang Chang        "@com_google_googletest//:gtest_main",
200*e7b1675dSTing-Kang Chang    ],
201*e7b1675dSTing-Kang Chang)
202*e7b1675dSTing-Kang Chang
203*e7b1675dSTing-Kang Changcc_test(
204*e7b1675dSTing-Kang Chang    name = "verified_jwt_test",
205*e7b1675dSTing-Kang Chang    size = "small",
206*e7b1675dSTing-Kang Chang    srcs = ["verified_jwt_test.cc"],
207*e7b1675dSTing-Kang Chang    deps = [
208*e7b1675dSTing-Kang Chang        ":jwt_mac",
209*e7b1675dSTing-Kang Chang        ":jwt_validator",
210*e7b1675dSTing-Kang Chang        ":raw_jwt",
211*e7b1675dSTing-Kang Chang        ":verified_jwt",
212*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_mac_impl",
213*e7b1675dSTing-Kang Chang        "//jwt/internal:jwt_mac_internal",
214*e7b1675dSTing-Kang Chang        "//subtle:hmac_boringssl",
215*e7b1675dSTing-Kang Chang        "//util:constants",
216*e7b1675dSTing-Kang Chang        "//util:enums",
217*e7b1675dSTing-Kang Chang        "//util:errors",
218*e7b1675dSTing-Kang Chang        "//util:protobuf_helper",
219*e7b1675dSTing-Kang Chang        "//util:secret_data",
220*e7b1675dSTing-Kang Chang        "//util:test_matchers",
221*e7b1675dSTing-Kang Chang        "//util:test_util",
222*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/status",
223*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
224*e7b1675dSTing-Kang Chang        "@com_google_googletest//:gtest_main",
225*e7b1675dSTing-Kang Chang    ],
226*e7b1675dSTing-Kang Chang)
227*e7b1675dSTing-Kang Chang
228*e7b1675dSTing-Kang Changcc_test(
229*e7b1675dSTing-Kang Chang    name = "jwt_validator_test",
230*e7b1675dSTing-Kang Chang    size = "small",
231*e7b1675dSTing-Kang Chang    srcs = ["jwt_validator_test.cc"],
232*e7b1675dSTing-Kang Chang    deps = [
233*e7b1675dSTing-Kang Chang        ":jwt_validator",
234*e7b1675dSTing-Kang Chang        ":raw_jwt",
235*e7b1675dSTing-Kang Chang        "//util:test_matchers",
236*e7b1675dSTing-Kang Chang        "//util:test_util",
237*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
238*e7b1675dSTing-Kang Chang        "@com_google_googletest//:gtest_main",
239*e7b1675dSTing-Kang Chang    ],
240*e7b1675dSTing-Kang Chang)
241*e7b1675dSTing-Kang Chang
242*e7b1675dSTing-Kang Changcc_test(
243*e7b1675dSTing-Kang Chang    name = "jwt_key_templates_test",
244*e7b1675dSTing-Kang Chang    srcs = ["jwt_key_templates_test.cc"],
245*e7b1675dSTing-Kang Chang    deps = [
246*e7b1675dSTing-Kang Chang        ":jwt_key_templates",
247*e7b1675dSTing-Kang Chang        ":jwt_mac",
248*e7b1675dSTing-Kang Chang        ":jwt_mac_config",
249*e7b1675dSTing-Kang Chang        ":jwt_public_key_sign",
250*e7b1675dSTing-Kang Chang        ":jwt_public_key_verify",
251*e7b1675dSTing-Kang Chang        ":jwt_signature_config",
252*e7b1675dSTing-Kang Chang        ":jwt_validator",
253*e7b1675dSTing-Kang Chang        ":raw_jwt",
254*e7b1675dSTing-Kang Chang        ":verified_jwt",
255*e7b1675dSTing-Kang Chang        "//util:status",
256*e7b1675dSTing-Kang Chang        "//util:test_matchers",
257*e7b1675dSTing-Kang Chang        "//util:test_util",
258*e7b1675dSTing-Kang Chang        "@com_google_googletest//:gtest_main",
259*e7b1675dSTing-Kang Chang    ],
260*e7b1675dSTing-Kang Chang)
261*e7b1675dSTing-Kang Chang
262*e7b1675dSTing-Kang Changcc_test(
263*e7b1675dSTing-Kang Chang    name = "jwk_set_converter_test",
264*e7b1675dSTing-Kang Chang    srcs = ["jwk_set_converter_test.cc"],
265*e7b1675dSTing-Kang Chang    deps = [
266*e7b1675dSTing-Kang Chang        ":jwk_set_converter",
267*e7b1675dSTing-Kang Chang        ":jwt_public_key_sign",
268*e7b1675dSTing-Kang Chang        ":jwt_public_key_verify",
269*e7b1675dSTing-Kang Chang        ":jwt_signature_config",
270*e7b1675dSTing-Kang Chang        ":jwt_validator",
271*e7b1675dSTing-Kang Chang        ":verified_jwt",
272*e7b1675dSTing-Kang Chang        "//:cleartext_keyset_handle",
273*e7b1675dSTing-Kang Chang        "//:json_keyset_reader",
274*e7b1675dSTing-Kang Chang        "//:json_keyset_writer",
275*e7b1675dSTing-Kang Chang        "//:keyset_handle",
276*e7b1675dSTing-Kang Chang        "//jwt/internal:json_util",
277*e7b1675dSTing-Kang Chang        "//proto:jwt_ecdsa_cc_proto",
278*e7b1675dSTing-Kang Chang        "//proto:jwt_rsa_ssa_pkcs1_cc_proto",
279*e7b1675dSTing-Kang Chang        "//util:test_matchers",
280*e7b1675dSTing-Kang Chang        "@com_google_absl//absl/strings",
281*e7b1675dSTing-Kang Chang        "@com_google_googletest//:gtest_main",
282*e7b1675dSTing-Kang Chang        "@com_google_protobuf//:protobuf",
283*e7b1675dSTing-Kang Chang    ],
284*e7b1675dSTing-Kang Chang)
285