无法在节点js中使用ecdsa模块进行签名

时间:2017-04-21 19:37:31

标签: javascript node.js cryptography sign ecdsa

我正在尝试使用ecdsa模块使用加密ecdh私钥对某些数据进行签名。我的代码如下:

shaMsg = crypto.createHash('sha256').update(myData).digest();
signed = ecdsa.sign(shaMsg, myECDHKey);

我遇到以下问题:

  

错误:服务器 - 捕获异常:错误:预期属性" 1" BigInteger类型,得到缓冲区

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

由于我没有得到任何答案,我尝试使用其他模块并使用elliptic模块获得我想要的内容:

var EC = require("elliptic").ec;
var ec = new EC("secp256k1");

var shaMsg = crypto.createHash("sha256").update(myData.toString()).digest();
var mySign = ec.sign(shaMsg, privateKey, {canonical: true});

我希望它可以帮助别人。

答案 1 :(得分:1)

我得到了它:

def find_closest(self,point,depth=0):
    if self.isFirst:
        self.froot = self.root.point
        self.isFirst = False

但是无法使用Buffer类型的publicKey进行验证,它需要Point。