method webcrypto.SubtleCrypto.unwrapKey
#SubtleCrypto.unwrapKey(format: KeyFormat,wrappedKey: BufferSource,unwrappingKey: CryptoKey,unwrapAlgorithm: ,unwrappedKeyAlgorithm: ,extractable: boolean,keyUsages: KeyUsage[],): Promise<CryptoKey>
In cryptography, "wrapping a key" refers to exporting and then encrypting the keying material.
The subtle.unwrapKey()
method attempts to decrypt a wrapped key and create a <CryptoKey>
instance.
It is equivalent to calling subtle.decrypt()
first on the encrypted key data (using the wrappedKey
, unwrapAlgo
, and unwrappingKey
arguments as input)
then passing the results in to the subtle.importKey()
method using the unwrappedKeyAlgo
, extractable
, and keyUsages
arguments as inputs.
If successful, the returned promise is resolved with a <CryptoKey>
object.
The wrapping algorithms currently supported include:
'RSA-OAEP'
'AES-CTR'
'AES-CBC'
'AES-GCM'
'AES-KW'
The unwrapped key algorithms supported include:
'RSASSA-PKCS1-v1_5'
'RSA-PSS'
'RSA-OAEP'
'ECDSA'
'Ed25519'
'Ed448'
'ECDH'
'X25519'
'X448'
'HMAC'
'AES-CTR'
'AES-CBC'
'AES-GCM'
'AES-KW'
Parameters #
#wrappedKey: BufferSource
#unwrapAlgorithm:
#unwrappedKeyAlgorithm:
#extractable: boolean
See Key usages.
Return Type #
Promise<CryptoKey>