From 69745567ff4a6c5903faa842c2ca8a9ad16bd62d Mon Sep 17 00:00:00 2001 From: Kagami Hiiragi Date: Wed, 21 Jan 2015 02:20:28 +0300 Subject: [PATCH] Enable canonical mode in elliptic See indutny/elliptic#24 for details. --- browser.js | 2 +- test.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/browser.js b/browser.js index d767f14..fa5bd74 100644 --- a/browser.js +++ b/browser.js @@ -78,7 +78,7 @@ var getPublic = exports.getPublic = function(privateKey) { exports.sign = function(privateKey, msg) { return new Promise(function(resolve) { assert(privateKey.length === 32, "Bad private key"); - resolve(new Buffer(ec.sign(msg, privateKey).toDER())); + resolve(new Buffer(ec.sign(msg, privateKey, {canonical: true}).toDER())); }); }; diff --git a/test.js b/test.js index 9cc3558..47e1630 100644 --- a/test.js +++ b/test.js @@ -89,6 +89,7 @@ describe("ECDSA", function() { it("should allow to sign and verify messages less than 32 bytes", function() { return eccrypto.sign(privateKey, shortMsg).then(function(sig) { expect(Buffer.isBuffer(sig)).to.be.true; + expect(sig.toString("hex")).to.equal("304402204737396b697e5a3400e3aedd203d8be89879f97708647252bd0c17752ff4c8f302201d52ef234de82ce0719679fa220334c83b80e21b8505a781d32d94a27d9310aa"); return eccrypto.verify(publicKey, shortMsg, sig); }); });