sign, verify convenience functions
This commit is contained in:
parent
ed335f35f7
commit
6e9755b009
15
lib/ecdsa.js
15
lib/ecdsa.js
|
@ -198,4 +198,19 @@ ECDSA.prototype.verify = function() {
|
|||
return false;
|
||||
};
|
||||
|
||||
ECDSA.sign = function(hashbuf, keypair) {
|
||||
return ECDSA().set({
|
||||
hashbuf: hashbuf,
|
||||
keypair: keypair
|
||||
}).signRandomK();
|
||||
};
|
||||
|
||||
ECDSA.verify = function(hashbuf, sig, pubkey) {
|
||||
return ECDSA().set({
|
||||
hashbuf: hashbuf,
|
||||
sig: sig,
|
||||
keypair: Keypair().set({pubkey: pubkey})
|
||||
}).verify();
|
||||
};
|
||||
|
||||
module.exports = ECDSA;
|
||||
|
|
|
@ -190,4 +190,24 @@ describe("ECDSA", function() {
|
|||
|
||||
});
|
||||
|
||||
describe('@sign', function() {
|
||||
|
||||
it('should produce a signature', function() {
|
||||
var sig = ECDSA.sign(ecdsa.hashbuf, ecdsa.keypair);
|
||||
(sig instanceof Signature).should.equal(true);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
describe('@verify', function() {
|
||||
|
||||
it('should verify a valid signature, and unverify an invalid signature', function() {
|
||||
var sig = ECDSA.sign(ecdsa.hashbuf, ecdsa.keypair);
|
||||
ECDSA.verify(ecdsa.hashbuf, sig, ecdsa.keypair.pubkey).should.equal(true);
|
||||
var fakesig = Signature(sig.r.add(1), sig.s);
|
||||
ECDSA.verify(ecdsa.hashbuf, fakesig, ecdsa.keypair.pubkey).should.equal(false);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue