subtle.exportKey(format, key)
-
format
<string> 必须是'raw'
、'pkcs8'
、'spki'
、'jwk'
、'raw-secret'
3、'raw-public'
3 或'raw-seed'
3 之一。¥
format
<string> Must be one of'raw'
,'pkcs8'
,'spki'
,'jwk'
,'raw-secret'
3,'raw-public'
3, or'raw-seed'
3. -
key
<CryptoKey> -
返回:<Promise> 成功后使用 <ArrayBuffer> | <Object> 完成。
¥Returns: <Promise> Fulfills with an <ArrayBuffer> | <Object> upon success.
如果支持,将给定的密钥导出为指定的格式。
¥Exports the given key into the specified format, if supported.
如果 <CryptoKey> 不可提取,则返回的 promise 将被拒绝。
¥If the <CryptoKey> is not extractable, the returned promise will reject.
当 format
为 'pkcs8'
或 'spki'
且导出成功时,返回的 promise 将使用包含导出密钥数据的 <ArrayBuffer> 进行解析。
¥When format
is either 'pkcs8'
or 'spki'
and the export is successful,
the returned promise will be resolved with an <ArrayBuffer> containing the
exported key data.
当 format
为 'jwk'
且导出成功时,返回的 promise 将使用符合 JSON 网络密钥 规范的 JavaScript 对象解析。
¥When format
is 'jwk'
and the export is successful, the returned promise
will be resolved with a JavaScript object conforming to the JSON Web Key
specification.
支持的密钥算法 | 'spki' | 'pkcs8' | 'jwk' | 'raw' | 'raw-secret' | 'raw-public' | 'raw-seed' |
---|---|---|---|---|---|---|---|
'AES-CBC' | ✔ | ✔ | ✔ | ||||
'AES-CTR' | ✔ | ✔ | ✔ | ||||
'AES-GCM' | ✔ | ✔ | ✔ | ||||
'AES-KW' | ✔ | ✔ | ✔ | ||||
'AES-OCB' [^modern-algos] | ✔ | ✔ | |||||
'ChaCha20-Poly1305' [^modern-algos] | ✔ | ✔ | |||||
'ECDH' | ✔ | ✔ | ✔ | ✔ | ✔ | ||
'ECDSA' | ✔ | ✔ | ✔ | ✔ | ✔ | ||
'Ed25519' | ✔ | ✔ | ✔ | ✔ | ✔ | ||
'Ed448' [^secure-curves] | ✔ | ✔ | ✔ | ✔ | ✔ | ||
'HMAC' | ✔ | ✔ | ✔ | ||||
'ML-DSA-44' [^modern-algos] | ✔ | ✔ | ✔ | ✔ | ✔ | ||
'ML-DSA-65' [^modern-algos] | ✔ | ✔ | ✔ | ✔ | ✔ | ||
'ML-DSA-87' [^modern-algos] | ✔ | ✔ | ✔ | ✔ | ✔ | ||
'ML-KEM-512' [^modern-algos] | ✔ | ✔ | ✔ | ✔ | |||
'ML-KEM-768' [^modern-algos] | ✔ | ✔ | ✔ | ✔ | |||
'ML-KEM-1024' [^modern-algos] | ✔ | ✔ | ✔ | ✔ | |||
'RSA-OAEP' | ✔ | ✔ | ✔ | ||||
'RSA-PSS' | ✔ | ✔ | ✔ | ||||
'RSASSA-PKCS1-v1_5' | ✔ | ✔ | ✔ |