Пример #1
0
        public ECDSASignature Sign(uint256 hash, bool useLowR = true)
        {
            AssertPrivateKey();
            var signer = new DeterministicECDSA(useLowR);

            signer.setPrivateKey(PrivateKey);
            var sig = ECDSASignature.FromDER(signer.signHash(hash.ToBytes()));

            return(sig.MakeCanonical());
        }
Пример #2
0
		private void TestSig(ECPrivateKeyParameters key, DeterministicSigTest test)
		{
			var dsa = new DeterministicECDSA(GetHash(test.Hash));
			dsa.setPrivateKey(key);
			dsa.update(Encoding.UTF8.GetBytes(test.Message));
			var result = dsa.sign();

			var signature = ECDSASignature.FromDER(result);
			Assert.Equal(test.S, signature.S);
			Assert.Equal(test.R, signature.R);
		}
Пример #3
0
        private void TestSig(ECPrivateKeyParameters key, DeterministicSigTest test)
        {
            if (test.Hash.Equals("SHA-1", StringComparison.OrdinalIgnoreCase))
            {
                return;
            }
            var dsa = new DeterministicECDSA(GetHash(test.Hash), false);

            dsa.setPrivateKey(key);
            dsa.update(Encoding.UTF8.GetBytes(test.Message));
            var result = dsa.sign();

            var signature = ECDSASignature.FromDER(result);

            Assert.Equal(test.S, signature.S);
            Assert.Equal(test.R, signature.R);
        }