1 // ==++== 2 // 3 // Copyright (c) Microsoft Corporation. All rights reserved. 4 // 5 // ==--== 6 // <OWNER>Microsoft</OWNER> 7 // 8 9 // 10 // AsymmetricSignatureDeformatter.cs 11 // 12 13 namespace System.Security.Cryptography { 14 using System.Security; 15 using System; 16 using System.Diagnostics.Contracts; 17 18 [System.Runtime.InteropServices.ComVisible(true)] 19 public abstract class AsymmetricSignatureDeformatter { 20 // 21 // protected constructors 22 // 23 AsymmetricSignatureDeformatter()24 protected AsymmetricSignatureDeformatter() { 25 } 26 27 // 28 // public methods 29 // 30 SetKey(AsymmetricAlgorithm key)31 abstract public void SetKey(AsymmetricAlgorithm key); SetHashAlgorithm(String strName)32 abstract public void SetHashAlgorithm(String strName); 33 VerifySignature(HashAlgorithm hash, byte[] rgbSignature)34 public virtual bool VerifySignature(HashAlgorithm hash, byte[] rgbSignature) { 35 if (hash == null) throw new ArgumentNullException("hash"); 36 Contract.EndContractBlock(); 37 SetHashAlgorithm(hash.ToString()); 38 return VerifySignature(hash.Hash, rgbSignature); 39 } 40 VerifySignature(byte[] rgbHash, byte[] rgbSignature)41 abstract public bool VerifySignature(byte[] rgbHash, byte[] rgbSignature); 42 } 43 } 44