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