ex_vault_jwk_set v0.0.1 ExVault.JwkSet.Key View Source

Vault key entry.fun()

Link to this section Summary

Functions

Returns Vault key version for givenkid.

Returns JWK in a map.

Returns JWT header.

Returns kid for given Vault key version.

Link to this section Types

Specs

t() :: %ExVault.JwkSet.Key{
  alg: String.t(),
  kid: String.t(),
  public_key_pem: String.t(),
  version: integer()
}

Link to this section Functions

Returns Vault key version for givenkid.

Examples

iex> ExVault.JwkSet.Key.kid_to_version("v:1")
{:ok, 1}

iex> ExVault.JwkSet.Key.kid_to_version("bar:1")
{:error, :invalid_kid}

Returns JOSE.JWK.

Examples

iex> ExVault.JwkSet.Key.to_jose_jwk(%ExVault.JwkSet.Key{
...>      alg: "RS256",
...>      version: 1,
...>      public_key_pem: """
...>      -----BEGIN PUBLIC KEY-----
...>      MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnzyis1ZjfNB0bBgKFMSv
...>      vkTtwlvBsaJq7S5wA+kzeVOVpVWwkWdVha4s38XM/pa/yr47av7+z3VTmvDRyAHc
...>      aT92whREFpLv9cj5lTeJSibyr/Mrm/YtjCZVWgaOYIhwrXwKLqPr/11inWsAkfIy
...>      tvHWTxZYEcXLgAXFuUuaS3uF9gEiNQwzGTU1v0FqkqTBr4B8nW3HCN47XUu0t8Y0
...>      e+lf4s4OxQawWD79J9/5d3Ry0vbV3Am1FtGJiJvOwRsIfVChDpYStTcHTCMqtvWb
...>      V6L11BWkpzGXSW4Hv43qa+GSYOD2QU68Mb59oSk2OB+BtOLpJofmbGEGgvmwyCI9
...>      MwIDAQAB
...>      -----END PUBLIC KEY-----
...>      """
...>    })
%JOSE.JWK{
  fields: %{},
  keys: :undefined,
  kty:
    {:jose_jwk_kty_rsa,
    {:RSAPublicKey,
    20101790993208644745807976729182597941929355612162354360099435269825087678371993244844234893013558555686015831335725398637423399304205115261083991022355813201997154499053064318477614909646953959855907663206692927300016800053636628573275271404089122405985685162285559162700174320318326821436949689956974724260182115938767812249391575639780973664572557729842107578524708525191776956150194917696738395922018602710772475751229671360413648976296942707837850780316509559008920087532825564663621482064344153450826739561548502662708814824842358869389530164169290288156380027449103702069177196558531588515097343487007237750067,
      65537}}
}

Returns JWK in a map.

Examples

iex> ExVault.JwkSet.Key.to_jwk_map(%ExVault.JwkSet.Key{
...>      version: 1,
...>      public_key_pem: """
...>      -----BEGIN PUBLIC KEY-----
...>      MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnzyis1ZjfNB0bBgKFMSv
...>      vkTtwlvBsaJq7S5wA+kzeVOVpVWwkWdVha4s38XM/pa/yr47av7+z3VTmvDRyAHc
...>      aT92whREFpLv9cj5lTeJSibyr/Mrm/YtjCZVWgaOYIhwrXwKLqPr/11inWsAkfIy
...>      tvHWTxZYEcXLgAXFuUuaS3uF9gEiNQwzGTU1v0FqkqTBr4B8nW3HCN47XUu0t8Y0
...>      e+lf4s4OxQawWD79J9/5d3Ry0vbV3Am1FtGJiJvOwRsIfVChDpYStTcHTCMqtvWb
...>      V6L11BWkpzGXSW4Hv43qa+GSYOD2QU68Mb59oSk2OB+BtOLpJofmbGEGgvmwyCI9
...>      MwIDAQAB
...>      -----END PUBLIC KEY-----
...>      """
...>    })
%{
  "e" => "AQAB",
  "kid" => "v:1",
  "kty" => "RSA",
  "n" =>
    "nzyis1ZjfNB0bBgKFMSvvkTtwlvBsaJq7S5wA-kzeVOVpVWwkWdVha4s38XM_pa_yr47av7-z3VTmvDRyAHcaT92whREFpLv9cj5lTeJSibyr_Mrm_YtjCZVWgaOYIhwrXwKLqPr_11inWsAkfIytvHWTxZYEcXLgAXFuUuaS3uF9gEiNQwzGTU1v0FqkqTBr4B8nW3HCN47XUu0t8Y0e-lf4s4OxQawWD79J9_5d3Ry0vbV3Am1FtGJiJvOwRsIfVChDpYStTcHTCMqtvWbV6L11BWkpzGXSW4Hv43qa-GSYOD2QU68Mb59oSk2OB-BtOLpJofmbGEGgvmwyCI9Mw"
}

Returns JWT header.

Examples

iex> ExVault.JwkSet.Key.to_jwt_header(%ExVault.JwkSet.Key{
...>      alg: "RS256",
...>      kid: "foo",
...>      version: 1,
...>      public_key_pem: """
...>      -----BEGIN PUBLIC KEY-----
...>      MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnzyis1ZjfNB0bBgKFMSv
...>      vkTtwlvBsaJq7S5wA+kzeVOVpVWwkWdVha4s38XM/pa/yr47av7+z3VTmvDRyAHc
...>      aT92whREFpLv9cj5lTeJSibyr/Mrm/YtjCZVWgaOYIhwrXwKLqPr/11inWsAkfIy
...>      tvHWTxZYEcXLgAXFuUuaS3uF9gEiNQwzGTU1v0FqkqTBr4B8nW3HCN47XUu0t8Y0
...>      e+lf4s4OxQawWD79J9/5d3Ry0vbV3Am1FtGJiJvOwRsIfVChDpYStTcHTCMqtvWb
...>      V6L11BWkpzGXSW4Hv43qa+GSYOD2QU68Mb59oSk2OB+BtOLpJofmbGEGgvmwyCI9
...>      MwIDAQAB
...>      -----END PUBLIC KEY-----
...>      """
...>    })
%{alg: "RS256", kid: "foo", typ: "JWT"}

Returns kid for given Vault key version.

Examples

iex> ExVault.JwkSet.Key.version_to_kid(1)
"v:1"