diff --git a/src/ecsignature.js b/src/ecsignature.js index ecb4489..940387b 100644 --- a/src/ecsignature.js +++ b/src/ecsignature.js @@ -4,8 +4,7 @@ var types = require('./types') var BigInteger = require('bigi') function ECSignature (r, s) { - typeforce(types.BigInt, r) - typeforce(types.BigInt, s) + typeforce(types.tuple(types.BigInt, types.BigInt), arguments) this.r = r this.s = s @@ -40,7 +39,7 @@ ECSignature.fromDER = function (buffer) { if (buffer[1] !== buffer.length - 2) throw new Error('Invalid sequence length') if (buffer[2] !== 0x02) throw new Error('Expected a DER integer') - var lenR = buffer.readUInt8(3) + var lenR = buffer[3] if (lenR === 0) throw new Error('R length is zero') if (5 + lenR >= buffer.length) throw new Error('Invalid DER encoding') if (buffer[4 + lenR] !== 0x02) throw new Error('Expected a DER integer (2)')