Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 2.63 KB

importJWK.md

File metadata and controls

56 lines (41 loc) · 2.63 KB

Function: importJWK()

Support from the community to continue maintaining and improving this module is welcome. If you find the module useful, please consider supporting the project by becoming a sponsor.

importJWK<KeyLikeType>(jwk, alg?): Promise<KeyLikeType | Uint8Array>

Imports a JWK to a runtime-specific key representation (KeyLike). Either the JWK "alg" (Algorithm) Parameter, or the optional "alg" argument, must be present.

Note: When the runtime is using Web Cryptography API the jwk parameters "use", "key_ops", and "ext" are also used in the resulting CryptoKey.

This function is exported (as a named export) from the main 'jose' module entry point as well as from its subpath export 'jose/key/import'.

Type Parameters

Type Parameter Default type
KeyLikeType extends KeyLike KeyLike

Parameters

Parameter Type Description
jwk JWK JSON Web Key.
alg? string (Only effective in Web Crypto API runtimes) JSON Web Algorithm identifier to be used with the imported key. Default is the "alg" property on the JWK, its presence is only enforced in Web Crypto API runtimes. See Algorithm Key Requirements.

Returns

Promise<KeyLikeType | Uint8Array>

Example

const ecPublicKey = await jose.importJWK(
  {
    crv: 'P-256',
    kty: 'EC',
    x: 'ySK38C1jBdLwDsNWKzzBHqKYEE5Cgv-qjWvorUXk9fw',
    y: '_LeQBw07cf5t57Iavn4j-BqJsAD1dpoz8gokd3sBsOo',
  },
  'ES256',
)

const rsaPublicKey = await jose.importJWK(
  {
    kty: 'RSA',
    e: 'AQAB',
    n: '12oBZRhCiZFJLcPg59LkZZ9mdhSMTKAQZYq32k_ti5SBB6jerkh-WzOMAO664r_qyLkqHUSp3u5SbXtseZEpN3XPWGKSxjsy-1JyEFTdLSYe6f9gfrmxkUF_7DTpq0gn6rntP05g2-wFW50YO7mosfdslfrTJYWHFhJALabAeYirYD7-9kqq9ebfFMF4sRRELbv9oi36As6Q9B3Qb5_C1rAzqfao_PCsf9EPsTZsVVVkA5qoIAr47lo1ipfiBPxUCCNSdvkmDTYgvvRm6ZoMjFbvOtgyts55fXKdMWv7I9HMD5HwE9uW839PWA514qhbcIsXEYSFMPMV6fnlsiZvQQ',
  },
  'PS256',
)