public bool VerifySignature(T token)
        {
            byte[] pubkey = Nethereum.Hex.HexConvertors.Extensions.HexByteConvertorExtensions.HexToByteArray(token.PublicKey);
            PubKey pubk   = new PubKey(pubkey);

            return(pubk.VerifyMessage(token.GetUnsignedEncodedToken(), token.Signature));
        }
Example #2
0
        private bool VerifySignature()
        {
            if (Signature == null)
            {
                return(false);
            }

            var pubKey = new PubKey(PublicKey);

            return(pubKey.VerifyMessage(SignedData, Signature));
        }
Example #3
0
        public void CanVerifyTrezorSignature()
        {
            string visual_challenge = "2015-03-23 17:39:22";
            byte[] random_challenge = Encoders.Hex.DecodeData("cd8552569d6e4509266ef137584d1e62c7579b5b8ed69bbafa4b864c6521e7c2");
            byte[] signature = Encoders.Hex.DecodeData("20f2d1a42d08c3a362be49275c3ffeeaa415fc040971985548b9f910812237bb41770bf2c8d488428799fbb7e52c11f1a3404011375e4080e077e0e42ab7a5ba02");

            var hiddenChallenge_Sha = Hashes.SHA256(random_challenge);
            var visualChallenge_Sha = Hashes.SHA256(Encoding.ASCII.GetBytes(visual_challenge));

            PubKey pubKey = new PubKey("023a472219ad3327b07c18273717bb3a40b39b743756bf287fbd5fa9d263237f45");
            bool verified = pubKey.VerifyMessage(hiddenChallenge_Sha.Concat(visualChallenge_Sha).ToArray(), Encoders.Base64.EncodeData(signature));
            Assert.True(verified);
        }
Example #4
0
 public bool Verify(PubKey pubKey, byte[] contractCode, byte[] signature)
 {
     try
     {
         var ecdsaSig = new ECDSASignature(signature);
         return(pubKey.VerifyMessage(contractCode, ecdsaSig));
     }
     catch (Exception)
     {
         // new ECDSASignature can throw a format exception
         // PubKey.VerifyMessage can throw unknown exceptions
         return(false);
     }
 }
Example #5
0
		public void CanVerifyTrezorSignature()
		{
			string visual_challenge = "2015-03-23 17:39:22";
			byte[] random_challenge = Encoders.Hex.DecodeData("cd8552569d6e4509266ef137584d1e62c7579b5b8ed69bbafa4b864c6521e7c2");
			byte[] signature = Encoders.Hex.DecodeData("20f2d1a42d08c3a362be49275c3ffeeaa415fc040971985548b9f910812237bb41770bf2c8d488428799fbb7e52c11f1a3404011375e4080e077e0e42ab7a5ba02");

			var hiddenChallenge_Sha = Hashes.SHA256(random_challenge);
			var visualChallenge_Sha = Hashes.SHA256(Encoding.ASCII.GetBytes(visual_challenge));

			PubKey pubKey = new PubKey("023a472219ad3327b07c18273717bb3a40b39b743756bf287fbd5fa9d263237f45");
			bool verified = pubKey.VerifyMessage(hiddenChallenge_Sha.Concat(visualChallenge_Sha).ToArray(), Encoders.Base64.EncodeData(signature));
			Assert.True(verified);
		}
Example #6
0
 public static bool VerifySignatureECDSA(byte[] message, PubKey key, string signature)
 {
     return(key.VerifyMessage(message, signature));
 }