首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用WebCryptoAPI替换cryptico.js -如何获取公钥字符串?

用WebCryptoAPI替换cryptico.js -如何获取公钥字符串?
EN

Stack Overflow用户
提问于 2018-09-07 19:23:04
回答 1查看 278关注 0票数 0

我希望有人能帮上忙。我一直在使用cryptico.js,并一直通过以下方式生成密钥:

代码语言:javascript
复制
var RSAkey = cryptico.generateRSAKey(passphrase, 512);
var publicKeyString = cryptico.publicKeyString(RSAkey);

让我可以很好地访问公钥,比如:vnY5f+HVUQa2oBZKsb2LUgTlso/wtVsA5Ytqlr1RL13xVN81mnIHoL/5/8CKG4rQ/vQfnBAUBYfJzBQGeAXYnw==

我切换到使用WebCrypto接口,因为我想使用不同的密钥类型:

代码语言:javascript
复制
promise_key = crypto.subtle.generateKey({name: "ECDSA", namedCurve: "P-256", hash: {name: "SHA-256"} }, true, ["sign", "verify"]);
promise_key.then(function(key) {
    private_key_object = key.privateKey;
    public_key_object = key.publicKey;
    console.log(key.publicKey);
});

我想要获得公钥字符串,就像我对cryptico所做的那样,我确信我正在做一些非常愚蠢的事情,但我似乎无法获得它。

我使用了带有'spki','raw‘和'jwk’选项的crypto.subtle.exportKey,但没有带来快乐。

即使我使用RSA而不是ECDSA来生成密钥,我仍然可以得到相同的密钥。

请问我做错了什么?

非常感谢

EN

回答 1

Stack Overflow用户

发布于 2018-09-07 19:34:28

不能通过简单的console.log查看CryptoKey本身。首先需要将其转换为所需的格式。您可以使用exportKey来实现这一点(只要您将extractable设置为` `true您已经这样做了)。

Here are some examples.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52221546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档