问题描述
我正在尝试导出我在 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 (将#修改为@)