Skip to content

Latest commit

 

History

History
54 lines (40 loc) · 2.73 KB

importJWK.md

File metadata and controls

54 lines (40 loc) · 2.73 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(jwk, alg?, options?): Promise<Uint8Array | CryptoKey>

Imports a JWK to a CryptoKey. Either the JWK "alg" (Algorithm) Parameter, or the optional "alg" argument, must be present for asymmetric JSON Web Key imports.

Note: The JSON Web Key parameters "use", "key_ops", and "ext" are also used in the CryptoKey import process.

Note: Symmetric JSON Web Keys (i.e. kty: "oct") yield back an Uint8Array instead of a 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'.

Parameters

Parameter Type Description
jwk JWK JSON Web Key.
alg? string JSON Web Algorithm identifier to be used with the imported key. Default is the "alg" property on the JWK. See Algorithm Key Requirements.
options? KeyImportOptions -

Returns

Promise<Uint8Array | CryptoKey>

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',
)