2015-09-03 45 views
4

嘗試使用在Node中生成的PrivateKey簽署對象時,出現'error:0D07209B:asn1 encoding routines:ASN1_get_object:too long' .js文件。無法在Node.js中使用ECDH私鑰簽名緩衝區

的BUF是一個簡單的對象與節點CBOR

var ecdh = crypto.createECDH('secp256k1') 
ecdh.generateKeys() 

var sign = crypto.createSign('RSA-SHA256') 
sign.update(buf) 
var buf_signed = sign.sign('-----BEGIN PRIVATE KEY-----\n' + 
           ecdh.getPrivateKey('base64') + 
           '\n-----END PRIVATE KEY-----' + 
           '\n-----BEGIN CERTIFICATE-----' + 
           '\n-----END CERTIFICATE-----', 'binary') 

編碼請問證書是嚴格必要的?我是否缺少PEM字符串中的任何信息?

任何幫助表示讚賞,謝謝:)

回答

1

原來我錯過了,對於EC數字簽名,它是使用ECDSA做正確的方式。

的Node.js沒有實現它本身,而是該模塊使得這樣的一個好工作:

https://www.npmjs.com/package/ecdsa