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

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)])
pub fn new() -> JsonWebKey

Creates a JsonWebKey with all fields set to None.

Search Document