public ECDsaSignatureAlgorithmTests()
 {
     _ecdsa            = ECDsa.Create();
     _publicKeyParams  = _ecdsa.ExportParameters(false);
     _privateKeyParams = _ecdsa.ExportParameters(true);
     _signer           = ECDsaSignatureAlgorithm.CreateForSigning(HashAlgorithmName.SHA1, _privateKeyParams);
     _verifier         = ECDsaSignatureAlgorithm.CreateForVerification(HashAlgorithmName.SHA1, _publicKeyParams);
 }
            public void CanVerifyWithAlgorithmThatOnlyKnowsAboutThePublicKey()
            {
                var payload   = "_abc_123_";
                var signature = _signer.ComputeHash(payload);
                var verifier  = ECDsaSignatureAlgorithm.CreateForVerification(HashAlgorithmName.SHA1, _publicKeyParams);
                var actual    = verifier.VerifySignature(payload, signature);

                actual.Should().BeTrue();
            }
 public static ISignatureAlgorithm CreateForVerification(ECParameters publicParameters, HashAlgorithmName hashAlgorithm)
 {
     return(ECDsaSignatureAlgorithm.CreateForVerification(hashAlgorithm, publicParameters));
 }