gossamer/json_web_key
Types
Represents a JSON Web Key (JWK) as defined by RFC 7517. Used with
subtle_crypto.import_key_jwk and subtle_crypto.export_key_jwk.
pub type JsonWebKey {
JsonWebKey(
kty: option.Option(String),
use_: option.Option(String),
key_ops: option.Option(List(key_usage.KeyUsage)),
alg: option.Option(String),
ext: option.Option(Bool),
crv: option.Option(String),
x: option.Option(String),
y: option.Option(String),
d: option.Option(String),
n: option.Option(String),
e: option.Option(String),
p: option.Option(String),
q: option.Option(String),
dp: option.Option(String),
dq: option.Option(String),
qi: option.Option(String),
k: option.Option(String),
)
}
Constructors
-
JsonWebKey( kty: option.Option(String), use_: option.Option(String), key_ops: option.Option(List(key_usage.KeyUsage)), alg: option.Option(String), ext: option.Option(Bool), crv: option.Option(String), x: option.Option(String), y: option.Option(String), d: option.Option(String), n: option.Option(String), e: option.Option(String), p: option.Option(String), q: option.Option(String), dp: option.Option(String), dq: option.Option(String), qi: option.Option(String), k: option.Option(String), )
A single JWK field, used with from_fields for ergonomic construction.
pub type JsonWebKeyField {
Kty(String)
Use(String)
KeyOps(List(key_usage.KeyUsage))
Alg(String)
Ext(Bool)
Crv(String)
X(String)
Y(String)
D(String)
N(String)
E(String)
P(String)
Q(String)
Dp(String)
Dq(String)
Qi(String)
K(String)
}
Constructors
-
Kty(String) -
Use(String) -
KeyOps(List(key_usage.KeyUsage)) -
Alg(String) -
Ext(Bool) -
Crv(String) -
X(String) -
Y(String) -
D(String) -
N(String) -
E(String) -
P(String) -
Q(String) -
Dp(String) -
Dq(String) -
Qi(String) -
K(String)
Values
pub fn from_fields(fields: List(JsonWebKeyField)) -> JsonWebKey
Creates a JsonWebKey from a list of fields.
Examples
json_web_key.from_fields([Kty("oct"), Alg("A256GCM"), K(key_data)])