public abstract class AsymmetricSignatureFormatter { // Public Constructors public AsymmetricSignatureFormatter( ); // Public Instance Methods public abstract byte[ ] CreateSignature(byte[ ] rgbHash); public virtual byte[ ] CreateSignature(HashAlgorithm hash); public abstract void SetHashAlgorithm(string strName); public abstract void SetKey(AsymmetricAlgorithm key); }
This is the abstract parent for all signature formatter implementation classes; such classes create digital signatures by formatting a cryptographic hash code and applying an asymmetric signature function to the formatted data.
The CreateSignature( ) method uses an asymmetric private key to create a digital signature, expressed as a System.Byte array. The private key value is specified by the SetKey( ) method, which accepts an instance of the AsymmetricAlgorithm class configured with the key parameters. The SetHashAlgorithm( ) method sets the name of the hash algorithm used to create the data to be signed; this value is used in the data-formatting process.
The .NET Framework class library includes the DSASignatureFormatter and RSAPKCS1SignatureFormatter classes, which create digital signatures using the DSA and RSA algorithm classes.