From bd76939f4cac16242e8761e97c9f16a02b579594 Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Thu, 4 Jan 2018 14:40:20 -0800 Subject: [PATCH] pkg: update bcrypto. --- lib/net/bip150.js | 12 ++++-------- lib/node/rpc.js | 2 +- lib/primitives/keyring.js | 4 ++-- lib/primitives/tx.js | 4 ++-- lib/script/common.js | 2 +- lib/script/script.js | 2 +- lib/script/sigcache.js | 4 ++-- lib/workers/jobs.js | 4 ++-- package.json | 2 +- 9 files changed, 16 insertions(+), 20 deletions(-) diff --git a/lib/net/bip150.js b/lib/net/bip150.js index d3d1090b..89011d0f 100644 --- a/lib/net/bip150.js +++ b/lib/net/bip150.js @@ -142,36 +142,32 @@ class BIP150 extends EventEmitter { this.emit('auth'); } - const sig = secp256k1.sign(msg, this.privateKey); - // authreply - return secp256k1.fromDER(sig); + return secp256k1.sign(msg, this.privateKey); } /** * Handle a received reply signature. * Returns an authpropose hash. - * @param {Buffer} data + * @param {Buffer} sig * @returns {Buffer} * @throws on auth failure */ - reply(data) { + reply(sig) { const type = this.outbound ? 'i' : 'r'; assert(this.challengeSent, 'Unsolicited reply.'); assert(!this.replyReceived, 'Peer replied twice.'); this.replyReceived = true; - if (data.equals(common.ZERO_SIG)) + if (sig.equals(common.ZERO_SIG)) throw new Error('Auth failure.'); if (!this.peerIdentity) return random.randomBytes(32); - const sig = secp256k1.toDER(data); const msg = this.hash(this.output.sid, type, this.peerIdentity); - const result = secp256k1.verify(msg, sig, this.peerIdentity); if (!result) diff --git a/lib/node/rpc.js b/lib/node/rpc.js index 57a08422..ab4d221e 100644 --- a/lib/node/rpc.js +++ b/lib/node/rpc.js @@ -2105,7 +2105,7 @@ class RPC extends RPCBase { const msg = Buffer.from(MAGIC_STRING + str, 'utf8'); const hash = hash256.digest(msg); - const key = secp256k1.recover(hash, sig, 0, true); + const key = secp256k1.recoverDER(hash, sig, 0, true); if (!key) return false; diff --git a/lib/primitives/keyring.js b/lib/primitives/keyring.js index 8ed4a3bb..bd30e0c6 100644 --- a/lib/primitives/keyring.js +++ b/lib/primitives/keyring.js @@ -678,7 +678,7 @@ class KeyRing { sign(msg) { assert(this.privateKey, 'Cannot sign without private key.'); - return secp256k1.sign(msg, this.privateKey); + return secp256k1.signDER(msg, this.privateKey); } /** @@ -689,7 +689,7 @@ class KeyRing { */ verify(msg, sig) { - return secp256k1.verify(msg, sig, this.publicKey); + return secp256k1.verifyDER(msg, sig, this.publicKey); } /** diff --git a/lib/primitives/tx.js b/lib/primitives/tx.js index 62ad0bda..09051c33 100644 --- a/lib/primitives/tx.js +++ b/lib/primitives/tx.js @@ -710,7 +710,7 @@ class TX { const type = sig[sig.length - 1]; const hash = this.signatureHash(index, prev, value, type, version); - return secp256k1.verify(hash, sig.slice(0, -1), key); + return secp256k1.verifyDER(hash, sig.slice(0, -1), key); } /** @@ -734,7 +734,7 @@ class TX { version = 0; const hash = this.signatureHash(index, prev, value, type, version); - const sig = secp256k1.sign(hash, key); + const sig = secp256k1.signDER(hash, key); const bw = bio.write(sig.length + 1); bw.writeBytes(sig); diff --git a/lib/script/common.js b/lib/script/common.js index 98f1a7ab..b388d71e 100644 --- a/lib/script/common.js +++ b/lib/script/common.js @@ -497,7 +497,7 @@ exports.isLowDER = function isLowDER(sig) { if (!exports.isSignatureEncoding(sig)) return false; - return secp256k1.isLowS(sig.slice(0, -1)); + return secp256k1.isLowDER(sig.slice(0, -1)); }; /** diff --git a/lib/script/script.js b/lib/script/script.js index c9eda48e..7f229033 100644 --- a/lib/script/script.js +++ b/lib/script/script.js @@ -3453,7 +3453,7 @@ function validateSignature(sig, flags) { */ function checksig(msg, sig, key) { - return secp256k1.verify(msg, sig.slice(0, -1), key); + return secp256k1.verifyDER(msg, sig.slice(0, -1), key); } /* diff --git a/lib/script/sigcache.js b/lib/script/sigcache.js index 5d3276b8..2fe96aa5 100644 --- a/lib/script/sigcache.js +++ b/lib/script/sigcache.js @@ -100,14 +100,14 @@ class SigCache { verify(msg, sig, key) { if (this.size === 0) - return secp256k1.verify(msg, sig, key); + return secp256k1.verifyDER(msg, sig, key); const hash = msg.toString('hex'); if (this.has(hash, sig, key)) return true; - const result = secp256k1.verify(msg, sig, key); + const result = secp256k1.verifyDER(msg, sig, key); if (!result) return false; diff --git a/lib/workers/jobs.js b/lib/workers/jobs.js index 7ae94357..84c3c0dc 100644 --- a/lib/workers/jobs.js +++ b/lib/workers/jobs.js @@ -142,7 +142,7 @@ jobs.signInput = function signInput(tx, index, coin, ring, type) { */ jobs.ecVerify = function ecVerify(msg, sig, key) { - const result = secp256k1.verify(msg, sig, key); + const result = secp256k1.verifyDER(msg, sig, key); return new packets.ECVerifyResultPacket(result); }; @@ -156,7 +156,7 @@ jobs.ecVerify = function ecVerify(msg, sig, key) { */ jobs.ecSign = function ecSign(msg, key) { - const sig = secp256k1.sign(msg, key); + const sig = secp256k1.signDER(msg, key); return new packets.ECSignResultPacket(sig); }; diff --git a/package.json b/package.json index a7211d91..4863bce9 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "dependencies": { "bcfg": "~0.0.1", "bclient": "~0.0.1", - "bcrypto": "~0.0.2", + "bcrypto": "~0.1.0", "bdb": "~0.0.2", "bdns": "~0.0.1", "bevent": "~0.0.1",