如何解决如何在 JavaScript 中使用 PKCS#8 导出 SubtleCrypto ECDSA 私钥?
我正在尝试导出我在 JavaScript 中使用 SubtleCrypto 生成的 ECDSA(这可能也适用于 ECDH)私钥。 According to MDN(是的,这是针对 importKey
,但这是您从 exportKey
的页面链接的位置),为此我可以使用 PKCS#8,因此我将其放在一起以下代码片段旨在实现此类导出:
crypto.subtle.generateKey(
{
"name": "ECDSA","namedCurve": "P-256"
},true,["sign","verify"]
).then(keys => {
crypto.subtle.exportKey("pkcs8",keys.privateKey)
.then(exported_key => {
console.log(exported_key)
})
}
这适用于 Chromium 和 GNOME Web (WebKit)。在 Firefox 中,我将以下错误记录到控制台:
Uncaught (in promise) DOMException: Operation is not supported
这似乎来自后一个表达式,即对 exportKey
的调用。 Firefox 支持对我和我正在从事的工作很重要,所以我想弄清楚这一点,我想这与其说是 Firefox 中的错误,不如说是我做错了什么,所以我认为这是最好弄清楚而不是说无论如何都不支持 Firefox。
有人可能认为这是因为 Firefox 不支持使用 PKSC#8 导出 EC 密钥,但 looking at the compatibility table on MDN 似乎并非如此,因为它被标记为从版本 34 开始支持,并且没有实施说明。我离题了。
我在这里可能做错了什么,我该如何让它发挥作用?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。