/// <inheritdoc />
 protected internal override bool VerifySignature(byte[] data, byte[] signature)
 {
     using (var hasher = CryptographicEngine.GetHashAlgorithm(this.Algorithm))
     {
         byte[] hash = hasher.ComputeHash(data);
         return(this.VerifyHash(hash, signature));
     }
 }
 /// <inheritdoc />
 protected internal override byte[] Sign(byte[] data)
 {
     using (var hasher = CryptographicEngine.GetHashAlgorithm(this.Algorithm))
     {
         byte[] hash = hasher.ComputeHash(data);
         return(this.SignHash(hash));
     }
 }
 /// <inheritdoc />
 protected internal override byte[] Sign(byte[] data)
 {
     using (var hash = CryptographicEngine.GetHashAlgorithm(this.Algorithm))
     {
         AsymmetricSignatureFormatter formatter = this.GetSignatureFormatter();
         formatter.SetHashAlgorithm(hash.ToString());
         return(formatter.CreateSignature(hash.ComputeHash(data)));
     }
 }
 /// <inheritdoc />
 protected internal override bool VerifySignature(byte[] data, byte[] signature)
 {
     using (var hash = CryptographicEngine.GetHashAlgorithm(this.Algorithm))
     {
         var deformatter = this.GetSignatureDeformatter();
         deformatter.SetHashAlgorithm(hash.ToString());
         return(deformatter.VerifySignature(hash.ComputeHash(data), signature));
     }
 }
Exemple #5
0
 /// <inheritdoc />
 protected internal override byte[] SignHash(byte[] data)
 {
     using (var hash = CryptographicEngine.GetHashAlgorithm(this.Algorithm))
     {
         var formatter = new RSAPKCS1SignatureFormatter(this.Rsa);
         formatter.SetHashAlgorithm(hash.ToString());
         return(formatter.CreateSignature(data));
     }
 }
 /// <inheritdoc />
 protected internal override bool VerifyHash(byte[] data, byte[] signature)
 {
     try
     {
         using (var hash = CryptographicEngine.GetHashAlgorithm(this.Algorithm))
         {
             var deformatter = this.GetSignatureDeformatter();
             deformatter.SetHashAlgorithm(hash.ToString());
             return(deformatter.VerifySignature(data, signature));
         }
     }
     catch (CryptographicException)
     {
         return(false);
     }
 }