【发布时间】:2017-04-21 22:21:27
【问题描述】:
我必须生成一个 ECDSA 符号并在之后对其进行解码。
我尝试了两种不同的形式:一个给我一个大小为 135 的标志,而另一个给我一个大小为 70 的标志。第一个是用 pem 密钥(asn1js and bn modules as the answer in this link)生成的,第二个是生成的使用“原始”键(eccrypto 模块),如下所示:
const ecdsa = require('eccrypto');
shaMsg = crypto.createHash('sha256').update(myData).digest();
ecdsa.sign(privateKey, shaMsg).then(function(sig) {
console.log("Signature in DER format:", sig, '-------size: ', sig.length);
ecdsa.verify(publicKey(), msg, sig).then(function() {
console.log("Signature is OK");
}).catch(function() {
console.log("Signature is BAD");
});
});
这段代码的输出是:
DER 格式的签名: -------尺寸:70
我需要解码我的符号以进行其他操作。谁能帮我解决这个问题?
【问题讨论】:
-
“我尝试了两种不同的形式” - 这些“形式”是什么?您能否展示完整和最少的代码以及一些示例输出?
-
我没有放代码,但我告诉了那些“表单”@Artjom:“...第一个是用 pem 密钥(asn1js 和 bn 模块)生成的,第二个是生成的使用“原始”密钥(eccrypto 模块)...”我会尽快放代码。
-
更新的问题,@Artjom。
标签: node.js cryptography ecdsa