Невозможно подписать с модулем ecdsa в узле JS

Я пытаюсь использовать модуль ecdsa, чтобы подписать некоторые данные с помощью закрытого ключа шифрования ecdh. Мой код ниже:

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

Я сталкиваюсь со следующей проблемой:

ОШИБКА: Сервер - Произошло исключение: Ошибка: Ожидаемое свойство "1" типа BigInteger, получено Буфер

Может кто-нибудь мне помочь?

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

Я надеюсь, что это может помочь кому-то еще.

Я получил это работает с:

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

Но не удалось проверить с publicKey типа Buffer, он ожидает Point.

Другие вопросы по тегам