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'.
| 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 |
- |
Promise<Uint8Array | CryptoKey>
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',
)