我希望有人能帮上忙。我一直在使用cryptico.js,并一直通过以下方式生成密钥:
var RSAkey = cryptico.generateRSAKey(passphrase, 512);
var publicKeyString = cryptico.publicKeyString(RSAkey);让我可以很好地访问公钥,比如:vnY5f+HVUQa2oBZKsb2LUgTlso/wtVsA5Ytqlr1RL13xVN81mnIHoL/5/8CKG4rQ/vQfnBAUBYfJzBQGeAXYnw==
我切换到使用WebCrypto接口,因为我想使用不同的密钥类型:
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来生成密钥,我仍然可以得到相同的密钥。
请问我做错了什么?
非常感谢
发布于 2018-09-07 19:34:28
不能通过简单的console.log查看CryptoKey本身。首先需要将其转换为所需的格式。您可以使用exportKey来实现这一点(只要您将extractable设置为` `true您已经这样做了)。
https://stackoverflow.com/questions/52221546
复制相似问题