28 std::optional<std::string>
kid = std::nullopt;
29 std::optional<std::vector<std::string>>
x5c = std::nullopt;
52 std::optional<std::string>
kid = std::nullopt;
53 std::optional<std::vector<std::string>>
x5c = std::nullopt;
54 std::optional<std::string>
n = std::nullopt;
55 std::optional<std::string>
e = std::nullopt;
56 std::optional<std::string>
x = std::nullopt;
57 std::optional<std::string>
y = std::nullopt;
58 std::optional<JsonWebKeyECCurve>
crv = std::nullopt;
59 std::optional<std::string>
issuer = std::nullopt;
77 throw std::logic_error(fmt::format(
"Unknown curve {}", curve_id));
90 throw std::logic_error(fmt::format(
"Unknown JWK curve {}", jwk_curve));
113 throw std::logic_error(fmt::format(
"Unknown EdDSA curve {}", curve_id));
#define DECLARE_JSON_TYPE_WITH_BASE(TYPE, BASE)
Definition json.h:665
#define DECLARE_JSON_REQUIRED_FIELDS(TYPE,...)
Definition json.h:714
#define DECLARE_JSON_TYPE_WITH_OPTIONAL_FIELDS(TYPE)
Definition json.h:690
#define DECLARE_JSON_OPTIONAL_FIELDS(TYPE,...)
Definition json.h:786
#define DECLARE_JSON_ENUM(TYPE,...)
Definition json.h:837
JsonWebKeyECCurve
Definition jwk.h:38
JsonWebKeyEdDSACurve
Definition jwk.h:95
JsonWebKeyType
Definition jwk.h:14
CurveID
Definition curve.h:18
@ SECP384R1
The SECP384R1 curve.
@ CURVE25519
The CURVE25519 curve.
@ SECP256R1
The SECP256R1 curve.
std::optional< std::string > n
Definition jwk.h:54
std::optional< std::string > x
Definition jwk.h:56
std::optional< std::vector< std::string > > x5c
Definition jwk.h:53
std::optional< JsonWebKeyECCurve > crv
Definition jwk.h:58
std::optional< std::string > kid
Definition jwk.h:52
std::optional< std::string > issuer
Definition jwk.h:59
std::optional< std::string > e
Definition jwk.h:55
JsonWebKeyType kty
Definition jwk.h:51
std::optional< std::string > y
Definition jwk.h:57
bool operator==(const JsonWebKeyData &) const =default
bool operator==(const JsonWebKeyECPrivate &) const =default
std::string d
Definition jwk.h:130
std::string x
Definition jwk.h:120
JsonWebKeyECCurve crv
Definition jwk.h:119
std::string y
Definition jwk.h:121
bool operator==(const JsonWebKeyECPublic &) const =default
bool operator==(const JsonWebKeyEdDSAPrivate &) const =default
std::string d
Definition jwk.h:173
JsonWebKeyEdDSACurve crv
Definition jwk.h:163
std::string x
Definition jwk.h:164
bool operator==(const JsonWebKeyEdDSAPublic &) const =default
std::string q
Definition jwk.h:151
std::string qi
Definition jwk.h:154
std::string p
Definition jwk.h:150
bool operator==(const JsonWebKeyRSAPrivate &) const =default
std::string dq
Definition jwk.h:153
std::string dp
Definition jwk.h:152
std::string d
Definition jwk.h:149
bool operator==(const JsonWebKeyRSAPublic &) const =default
std::string e
Definition jwk.h:140
std::string n
Definition jwk.h:139
std::optional< std::string > kid
Definition jwk.h:28
JsonWebKeyType kty
Definition jwk.h:27
bool operator==(const JsonWebKey &) const =default
std::optional< std::vector< std::string > > x5c
Definition jwk.h:29