Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
SubtleCrypto 接口的 exportKey() 方法用于导出密钥。也就是说,它将一个 CryptoKey 对象作为输入,并给出对应的外部可移植格式的密钥。
若要导出密钥,密钥的 CryptoKey.extractable 必须设置为 true。
密钥可导出为多种格式:请参阅 SubtleCrypto.importKey() 页面支持的格式以获取详细信息。
密钥不会以加密的格式导出:要在导出密钥时对密钥进行加密,请使用 SubtleCrypto.wrapKey() API 代替。
一个描述要导出的密钥格式的字符串。可为以下值之一:
要导出的 CryptoKey。
一个 Promise。
当发生以下几种异常时,promise 会被拒绝:
InvalidAccessError DOMException若尝试导出不可导出的密钥,则会抛出此异常。
NotSupported DOMException若尝试导出为未知的格式,则会抛出此异常。
TypeError若尝试使用无效的格式,则会抛出此异常。
备注:你可以在 GitHub 上尝试可用的示例。
该示例将 AES 密钥导出为包含二进制密钥的 ArrayBuffer。在 GitHub 上查看完整代码。
该示例将 RSA 私有签名密钥导出为 PKCS #8 对象。然后将导出的密钥编码为 PEM 格式。在 GitHub 上查看完整代码。
该示例将 RSA 公开加密密钥导出为 PEM 编码的 SubjectPublicKeyInfo 对象。在 GitHub 上查看完整代码。
该示例将 ECDSA 私有签名密钥导出为 JSON Web Key 对象。在 GitHub 上查看完整代码。
| Web Cryptography Level 2 # SubtleCrypto-method-exportKey |
启用 JavaScript 以查看此浏览器兼容性表。