2017-04-21 8 views
0

Ich versuche, das Ecdsa-Modul zu verwenden, um einige Daten mit einem privaten Krypto-ecdh-Schlüssel zu signieren. Mein Code ist unten:Kann nicht signieren mit Ecdsa-Modul in Knoten js

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

ich folgendes Problem bin vor:

ERROR: Server - Caught exception: Error: Expected property "1" of type BigInteger, got Buffer

Kann mir jemand helfen?

Antwort

1

Da ich keine Antwort nicht erhalten haben, habe ich versucht, mit anderen Modulen und bekommen, was ich mit dem elliptic Modul wollte:

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}); 

Ich hoffe, dass es jemand anderes helfen kann.

0

Ich habe es mit Arbeit:

var BigInteger = require('bigi'); 
var signature = ecdsa.sign(shaMsg, BigInteger.fromBuffer(privateKey)); 

aber kann nicht mit publicKey vom Typ Buffer überprüft es Punkt erwartet.