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.
var result = crypto.subtle.exportKey(format, key);
format
is 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"
, the public key in DER encoding of the SubjectPublicKeyInfo structure from RFC 5280."jwk"
, the key in the JSON Web Key format.key
is the CryptoKey
to export.result
is a Promise
that returns the key in the requested format.The promise is rejected when one of the following exceptions is encountered:
InvalidAccessError
when trying to export an non-extractable key.NotSupported
when trying to export in an unknown format.TypeError
when trying to use an invalid format.Specification | Status | Comment |
---|---|---|
Web Cryptography API The definition of 'SubtleCrypto.exportKey()' in that specification. | Recommendation | Initial definition. |
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) | ? | ? | ? |
Crypto
and Crypto.subtle
.SubtleCrypto
, the interface it belongs to.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/exportKey