From 04bcb626b35f806451c25f592f5df935bfd8ba96 Mon Sep 17 00:00:00 2001 From: Abhishek Sinha Date: Fri, 12 Oct 2018 12:16:02 +0530 Subject: [PATCH] Fixed sign function error. sign verify functions complete. --- supernode/main.html | 56 +++++++++++---------------------------------- 1 file changed, 13 insertions(+), 43 deletions(-) diff --git a/supernode/main.html b/supernode/main.html index 2d3c491..28fb868 100644 --- a/supernode/main.html +++ b/supernode/main.html @@ -7271,50 +7271,31 @@ var key = new Bitcoin.ECKey(privateKey); key.setCompressed(true); - // var privateKeyHex = key.getBitcoinHexFormat(); + var privateKeyHex = key.getBitcoinHexFormat(); var publicKeyHex = ninja.publicKey.getHexFromByteArray(key.getPubPoint().getEncoded(1)).toString().toUpperCase(); - var ms = "hello"; - //var sign = this.sign(ms, privateKeyHex); - var sign = this.sign(ms, privateKey); - - var verify = this.verify(ms, sign, publicKeyHex); - console.log(verify); + console.log("privateKeyHex: ", privateKeyHex); + console.log("publicKeyHex: ", publicKeyHex); }, - 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 messageHashBigInteger = new BigInteger(messageHash); + var messageHashBigInteger = new BigInteger(messageHash); var messageSign = Bitcoin.ECDSA.sign(messageHashBigInteger, privateKey); var sighex = Crypto.util.bytesToHex(messageSign); 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) { var msgHash = Crypto.SHA256(msg); var messageHashBigInteger = new BigInteger(msgHash); @@ -7326,18 +7307,7 @@ var verify = Bitcoin.ECDSA.verifyRaw(messageHashBigInteger,signature.r, signature.s, publicKeyPoint); 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)