NBitcoin.Crypto.DeterministicECDSA.sign C# (CSharp) Method

sign() public method

public sign ( ) : byte[]
return byte[]
        public byte[] sign()
        {
            var hash = new byte[_digest.GetDigestSize()];
            _digest.BlockUpdate(_buffer, 0, _buffer.Length);
            _digest.DoFinal(hash, 0);
            _digest.Reset();
            return signHash(hash);
        }

Usage Example

		private void TestSig(ECPrivateKeyParameters key, DeterministicSigTest test)
		{
			DeterministicECDSA dsa = new DeterministicECDSA(test.Hash);
			dsa.setPrivateKey(key);
			dsa.update(Encoding.UTF8.GetBytes(test.Message));
			var result = dsa.sign();

			Assert.Equal(test.K, dsa.LastK);
			Assert.Equal(test.R, dsa.LastR);

			Assert.Equal(test.S, ECDSASignature.FromDER(result).S);
		}