public void testVerifyRightMessage() { PrivateKey privateKey = new PrivateKey(); PublicKey publicKey = privateKey.publicKey(); string message = "This is the right message"; Signature signature = Ecdsa.sign(message, privateKey); Assert.True(Ecdsa.verify(message, signature, publicKey)); }
public void testVerifyWrongMessage() { PrivateKey privateKey = new PrivateKey(); PublicKey publicKey = privateKey.publicKey(); string message1 = "This is the right message"; string message2 = "This is the wrong message"; Signature signature = Ecdsa.sign(message1, privateKey); Assert.False(Ecdsa.verify(message2, signature, publicKey)); }
public void SignTransaction(PrivateKey signingKey) { string fromAddressDER = BitConverter.ToString(FromAddress.toDer()).Replace("-", ""); string signingDER = BitConverter.ToString(signingKey.publicKey().toDer()).Replace("-", ""); if (fromAddressDER != signingDER) { throw new Exception("You cannot sign transactions for other wallet!"); } string txHash = this.CalculateHash(); this.Signature = Ecdsa.sign(txHash, signingKey); }
public void testDerConversion() { PrivateKey privateKey = new PrivateKey(); string message = "This is a text message"; Signature signature1 = Ecdsa.sign(message, privateKey); byte[] der = signature1.toDer(); Signature signature2 = Signature.fromDer(der); Assert.Equal(signature1.r, signature2.r); Assert.Equal(signature1.s, signature2.s); }
public void testBase64Conversion() { PrivateKey privateKey = new PrivateKey(); string message = "This is a text message"; Signature signature1 = Ecdsa.sign(message, privateKey); string base64 = signature1.toBase64(); Signature signature2 = Signature.fromBase64(base64); Assert.Equal(signature1.r, signature2.r); Assert.Equal(signature1.s, signature2.s); }
public void testAssign() { // Generated by: openssl ecparam -name secp256k1 -genkey -out privateKey.pem string privateKeyPem = EllipticCurve.Utils.File.read("files/privateKey.pem"); PrivateKey privateKey = PrivateKey.fromPem(privateKeyPem); string message = EllipticCurve.Utils.File.read("files/message.txt"); Signature signature = Ecdsa.sign(message, privateKey); PublicKey publicKey = privateKey.publicKey(); Assert.True(Ecdsa.verify(message, signature, publicKey)); }
public string CreateSignature(string message) { Signature signature = Ecdsa.sign(message, PrivKey); return(signature.toBase64()); }
public string CreateSignature(string message) => Ecdsa.sign(message, this.privateKey).toBase64();