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