fix sigatures and verifications on browser

This commit is contained in:
Matias Alejo Garcia 2014-03-13 00:27:50 -03:00
parent caa16713f1
commit 2a6f7155b3
2 changed files with 12 additions and 10 deletions

4
Key.js
View File

@ -71,7 +71,7 @@ if (process.versions) {
}
var eck = new ECKey(buffertools.toHex(this.private));
eck.setCompressed(this.compressed);
var signature = eck.sign(hash);
var signature = eck.sign(bufferToArray(hash));
// return it as a buffer to keep c++ compatibility
return new Buffer(signature);
};
@ -93,7 +93,7 @@ if (process.versions) {
eck.setPub(bufferToArray(self.public));
eck.setCompressed(self.compressed);
var sigA = bufferToArray(sig);
var ret = eck.verify(hash,sigA);
var ret = eck.verify(bufferToArray(hash),sigA);
return ret;
};

View File

@ -56,6 +56,16 @@ describe('Key', function() {
buffertools.toHex(k.private).should.equal(pkshex);
buffertools.toHex(k.public).should.equal(pubhex);
});
it('should generate a hardcoded public key example', function() {
var k = new Key();
k.private = new Buffer('876156ccb16bb1760ddda6ad3e561c026fc0d679ad7860b71dd11c30e42f6589','hex');
k.regenerateSync();
k.compressed.should.equal(true);
var pHex = bitcore.buffertools.toHex(k.public);
pHex.should.equal('0394615227fd5ff4d4dfac88cf148e43d35a7a059788dd2479f60cea807b09d0c2');
});
it('should not fail checking good signSync status', function() {
var k = Key.generateSync();
var b = new Buffer(32);
@ -92,15 +102,7 @@ describe('Key', function() {
var ret= k2.verifySignatureSync(a_hash, sig);
ret.should.equal(true);
});
it('should generate a hardcoded public key example', function() {
var k = new Key();
k.private = new Buffer('876156ccb16bb1760ddda6ad3e561c026fc0d679ad7860b71dd11c30e42f6589','hex');
k.regenerateSync();
k.compressed.should.equal(true);
var pHex = bitcore.buffertools.toHex(k.public);
pHex.should.equal('0394615227fd5ff4d4dfac88cf148e43d35a7a059788dd2479f60cea807b09d0c2');
});
it('should verify a hardcoded example', function() {
var k = new Key();
k.private = new Buffer('876156ccb16bb1760ddda6ad3e561c026fc0d679ad7860b71dd11c30e42f6589','hex');