DSASignatureFormatter.CreateSignature Method (Byte[])

 

Creates the Digital Signature Algorithm (DSA) PKCS #1 signature for the specified data.

Namespace:   System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

public override byte[] CreateSignature(
	byte[] rgbHash
)

Parameters

rgbHash
Type: System.Byte[]

The data to be signed.

Return Value

Type: System.Byte[]

The digital signature for the specified data.

Exception Condition
ArgumentNullException

rgbHash is null.

CryptographicUnexpectedOperationException

The OID is null.

-or-

The DSA key is null.

The resulting signature data can be verified by using VerifySignature.

using System;
using System.Security.Cryptography;

class DSASample
{

	static void Main()
	{
		try
		{
			//Create a new instance of DSACryptoServiceProvider.
			DSACryptoServiceProvider DSA = new DSACryptoServiceProvider();

			//The hash to sign.
			byte[] Hash = {59,4,248,102,77,97,142,201,210,12,224,93,25,41,100,197,213,134,130,135};

			//Create an DSASignatureFormatter object and pass it the 
			//DSACryptoServiceProvider to transfer the key information.
			DSASignatureFormatter DSAFormatter = new DSASignatureFormatter(DSA);

			//Set the hash algorithm to SHA1.
			DSAFormatter.SetHashAlgorithm("SHA1");

			//Create a signature for HashValue and return it.
			byte[] SignedHash = DSAFormatter.CreateSignature(Hash);

		}
		catch(CryptographicException e)
		{
			Console.WriteLine(e.Message);
		}
	}

}

.NET Framework
Available since 1.1
Return to top
Show: