Tag: ecdsa

使用Node.js / crypto生成ECDSA签名

我有使用jsrsasign和JWK格式的键生成ECDSA签名的连接(rs)签名的代码: const sig = new Signature({ alg: 'SHA256withECDSA' }); sig.init(KEYUTIL.getKey(key)); sig.updateHex(dataBuffer.toString('hex')); const asn1hexSig = sig.sign(); const concatSig = ECDSA.asn1SigToConcatSig(asn1hexSig); return new Buffer(concatSig, 'hex'); 似乎工作。 我也有使用SubtleCrypto来实现同样的事情的代码: importEcdsaKey(key, 'sign') // importKey JWK -> raw .then((privateKey) => subtle.sign( { name: 'ECDSA', hash: {name: 'SHA-256'} }, privateKey, dataBuffer )) 这两个都返回128字节的缓冲区; 他们交叉validation(即我可以validationjsrsasign签名与SubtleCrypto ,反之亦然)。 但是,当我在Node.js crypto模块中使用Sign类时,我似乎得到了一些完全不同的东西。 key = require('jwk-to-pem')(key, {'private': true}); […]