Fixed sign function error. sign verify functions complete.
This commit is contained in:
parent
526b6996e1
commit
04bcb626b3
@ -7271,50 +7271,31 @@
|
|||||||
|
|
||||||
var key = new Bitcoin.ECKey(privateKey);
|
var key = new Bitcoin.ECKey(privateKey);
|
||||||
key.setCompressed(true);
|
key.setCompressed(true);
|
||||||
// var privateKeyHex = key.getBitcoinHexFormat();
|
var privateKeyHex = key.getBitcoinHexFormat();
|
||||||
|
|
||||||
var publicKeyHex = ninja.publicKey.getHexFromByteArray(key.getPubPoint().getEncoded(1)).toString().toUpperCase();
|
var publicKeyHex = ninja.publicKey.getHexFromByteArray(key.getPubPoint().getEncoded(1)).toString().toUpperCase();
|
||||||
|
|
||||||
var ms = "hello";
|
console.log("privateKeyHex: ", privateKeyHex);
|
||||||
//var sign = this.sign(ms, privateKeyHex);
|
console.log("publicKeyHex: ", publicKeyHex);
|
||||||
var sign = this.sign(ms, privateKey);
|
|
||||||
|
|
||||||
var verify = this.verify(ms, sign, publicKeyHex);
|
|
||||||
console.log(verify);
|
|
||||||
},
|
},
|
||||||
sign: function (msg, privateKey) {
|
sign: function (msg, privateKeyHex) {
|
||||||
|
|
||||||
|
var key = new Bitcoin.ECKey(privateKeyHex);
|
||||||
|
key.setCompressed(true);
|
||||||
|
|
||||||
|
var privateKeyArr = key.getBitcoinPrivateKeyByteArray(privateKeyHex);
|
||||||
|
privateKey = BigInteger.fromByteArrayUnsigned(privateKeyArr);
|
||||||
|
console.log(privateKey);
|
||||||
|
|
||||||
var messageHash = Crypto.SHA256(msg);
|
var messageHash = Crypto.SHA256(msg);
|
||||||
|
|
||||||
var messageHashBigInteger = new BigInteger(messageHash);
|
var messageHashBigInteger = new BigInteger(messageHash);
|
||||||
|
|
||||||
var messageSign = Bitcoin.ECDSA.sign(messageHashBigInteger, privateKey);
|
var messageSign = Bitcoin.ECDSA.sign(messageHashBigInteger, privateKey);
|
||||||
|
|
||||||
var sighex = Crypto.util.bytesToHex(messageSign);
|
var sighex = Crypto.util.bytesToHex(messageSign);
|
||||||
return sighex;
|
return sighex;
|
||||||
},
|
},
|
||||||
// sign: function (msg, privateKeyHex) {
|
|
||||||
|
|
||||||
// var key = new Bitcoin.ECKey(privateKeyHex);
|
|
||||||
// key.setCompressed(true);
|
|
||||||
|
|
||||||
// var messageHash = Crypto.SHA256(msg);
|
|
||||||
|
|
||||||
// var messageHashBigInteger = new BigInteger(messageHash);
|
|
||||||
|
|
||||||
// var privateKeyArr = key.getBitcoinPrivateKeyByteArray(privateKeyHex);
|
|
||||||
// //var pkby = Crypto.util.hexToBytes(privateKeyHex);
|
|
||||||
// //var privateKeyArr = key.toByteArrayUnsigned();
|
|
||||||
// //console.log(pkby);
|
|
||||||
|
|
||||||
// var privateKey = new BigInteger(privateKeyArr);
|
|
||||||
// console.log(privateKey);
|
|
||||||
|
|
||||||
// var messageSign = Bitcoin.ECDSA.sign(messageHashBigInteger, privateKey);
|
|
||||||
|
|
||||||
// var sighex = Crypto.util.bytesToHex(messageSign);
|
|
||||||
// return sighex;
|
|
||||||
// },
|
|
||||||
verify: function (msg, signatureHex, publicKeyHex) {
|
verify: function (msg, signatureHex, publicKeyHex) {
|
||||||
var msgHash = Crypto.SHA256(msg);
|
var msgHash = Crypto.SHA256(msg);
|
||||||
var messageHashBigInteger = new BigInteger(msgHash);
|
var messageHashBigInteger = new BigInteger(msgHash);
|
||||||
@ -7326,18 +7307,7 @@
|
|||||||
|
|
||||||
var verify = Bitcoin.ECDSA.verifyRaw(messageHashBigInteger,signature.r, signature.s, publicKeyPoint);
|
var verify = Bitcoin.ECDSA.verifyRaw(messageHashBigInteger,signature.r, signature.s, publicKeyPoint);
|
||||||
return verify;
|
return verify;
|
||||||
},
|
}
|
||||||
test: function() {
|
|
||||||
myPrivateKey = Bitcoin.ECDSA.getBigRandom(EllipticCurve.getSECCurveByName("secp256k1").getN());
|
|
||||||
myPublicKey = EllipticCurve.getSECCurveByName("secp256k1").getG().multiply(myPrivateKey);
|
|
||||||
messageHash = Crypto.SHA256(" I want this message signed");
|
|
||||||
messageHashBigInteger = new BigInteger("messageHash");
|
|
||||||
messageSign = Bitcoin.ECDSA.sign(messageHashBigInteger,myPrivateKey);
|
|
||||||
messageSignParse = Bitcoin.ECDSA.parseSig(messageSign);
|
|
||||||
verify = Bitcoin.ECDSA.verifyRaw(messageHashBigInteger,messageSignParse.r,messageSignParse.s,myPublicKey);
|
|
||||||
console.log(verify);
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})(ninja.wallets)
|
})(ninja.wallets)
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user