add extra validation to prevent invalid public keys being used. (as per issue 39)
This commit is contained in:
parent
c276998687
commit
27c9bff17e
1 changed files with 15 additions and 12 deletions
|
@ -278,6 +278,7 @@
|
||||||
|
|
||||||
/* decompress an compressed public key */
|
/* decompress an compressed public key */
|
||||||
coinjs.pubkeydecompress = function(pubkey) {
|
coinjs.pubkeydecompress = function(pubkey) {
|
||||||
|
if((typeof(pubkey) == 'string') && pubkey.match(/^[a-f0-9]+$/i)){
|
||||||
var curve = EllipticCurve.getSECCurveByName("secp256k1");
|
var curve = EllipticCurve.getSECCurveByName("secp256k1");
|
||||||
try {
|
try {
|
||||||
var pt = curve.curve.decodePointHex(pubkey);
|
var pt = curve.curve.decodePointHex(pubkey);
|
||||||
|
@ -293,6 +294,8 @@
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
coinjs.testdeterministicK = function() {
|
coinjs.testdeterministicK = function() {
|
||||||
// https://github.com/bitpay/bitcore/blob/9a5193d8e94b0bd5b8e7f00038e7c0b935405a03/test/crypto/ecdsa.js
|
// https://github.com/bitpay/bitcore/blob/9a5193d8e94b0bd5b8e7f00038e7c0b935405a03/test/crypto/ecdsa.js
|
||||||
|
|
Loading…
Reference in a new issue