The SubtleCrypto.exportKey() method returns a Promise of the key encrypted in the requested format. If the key is not extractable, that is if CryptoKey.extractable returns false, the promise fails with an InvalidAccessError exception; it the format is unknown, the promive fails with a NotSupported exception.
Syntax
var result = crypto.exportKey(format, key);
Parameters
formatis an enumerated value describing the data format in which the key has to be exported. It can be one of the following:"raw", the key as an array of bytes, usually a secret key."pkcs8"a private key, in the IETF Public Key-Cryptographic Standard Encryption #8."spki", usually a public key, in the Simple public key infrastructure standard"jwk", the key in the JSON Web Key format.
keyis theCryptoKeyto export.
Return value
resultis aPromisethat returns the key in the requested format.
Exceptions
The promise is rejected when one of the following exceptions is encountered:
InvalidAccessErrorwhen trying to export an non-extractable key.NotSupportedwhen trying to export in an unknown format.TypeErrorwhen trying to use an invalid format.
Specifications
| Specification | Status | Comment |
|---|---|---|
| Web Cryptography API The definition of 'SubtleCrypto.exportKey()' in that specification. |
Recommendation | Initial definition. |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 37 | (Yes) | 34 (34) | No support | ? | No support |
ECDH |
? | ? | 41 (41) | ? | ? | ? |
| Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | (Yes) | 37 | (Yes) | 34.0 (34) | No support | ? | No support |
ECDH |
? | ? | ? | 41.0 (41) | ? | ? | ? |
See also
CryptoandCrypto.subtle.SubtleCrypto, the interface it belongs to.