22
33var assert = require ( 'assert' )
44var bcrypto = require ( '../src/crypto' )
5+ var bscript = require ( '../src/script' )
56var ecdsa = require ( '../src/ecdsa' )
67var hoodwink = require ( 'hoodwink' )
78
89var BigInteger = require ( 'bigi' )
9- var ECSignature = require ( '../src/ecsignature' )
1010
1111var curve = ecdsa . __curve
1212
1313var fixtures = require ( './fixtures/ecdsa.json' )
1414
1515describe ( 'ecdsa' , function ( ) {
16+ function fromRaw ( signature ) {
17+ return {
18+ r : new BigInteger ( signature . r , 16 ) ,
19+ s : new BigInteger ( signature . s , 16 )
20+ }
21+ }
22+
23+ function toRaw ( signature ) {
24+ return {
25+ r : signature . r . toHex ( ) ,
26+ s : signature . s . toHex ( )
27+ }
28+ }
29+
1630 describe ( 'deterministicGenerateK' , function ( ) {
1731 function checkSig ( ) {
1832 return true
@@ -80,9 +94,9 @@ describe('ecdsa', function () {
8094 it ( 'produces a deterministic signature for "' + f . message + '"' , function ( ) {
8195 var d = BigInteger . fromHex ( f . d )
8296 var hash = bcrypto . sha256 ( f . message )
83- var signature = ecdsa . sign ( hash , d ) . toDER ( )
97+ var signature = ecdsa . sign ( hash , d )
8498
85- assert . strictEqual ( signature . toString ( 'hex' ) , f . signature )
99+ assert . deepEqual ( toRaw ( signature ) , f . signature )
86100 } )
87101 } )
88102
@@ -101,7 +115,7 @@ describe('ecdsa', function () {
101115 it ( 'verifies a valid signature for "' + f . message + '"' , function ( ) {
102116 var d = BigInteger . fromHex ( f . d )
103117 var H = bcrypto . sha256 ( f . message )
104- var signature = ECSignature . fromDER ( Buffer . from ( f . signature , 'hex' ) )
118+ var signature = fromRaw ( f . signature )
105119 var Q = curve . G . multiply ( d )
106120
107121 assert ( ecdsa . verify ( H , signature , Q ) )
@@ -112,14 +126,7 @@ describe('ecdsa', function () {
112126 it ( 'fails to verify with ' + f . description , function ( ) {
113127 var H = bcrypto . sha256 ( f . message )
114128 var d = BigInteger . fromHex ( f . d )
115-
116- var signature
117- if ( f . signature ) {
118- signature = ECSignature . fromDER ( Buffer . from ( f . signature , 'hex' ) )
119- } else if ( f . signatureRaw ) {
120- signature = new ECSignature ( new BigInteger ( f . signatureRaw . r , 16 ) , new BigInteger ( f . signatureRaw . s , 16 ) )
121- }
122-
129+ var signature = fromRaw ( f . signature )
123130 var Q = curve . G . multiply ( d )
124131
125132 assert . strictEqual ( ecdsa . verify ( H , signature , Q ) , false )
0 commit comments