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()); }
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); }
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); }