RSAPKCS1SignatureFormatter.CreateSignature Method (Byte[])
.NET Framework 4.5
Creates the RSA PKCS #1 signature for the specified data.
Namespace: System.Security.Cryptography
Assembly: mscorlib (in mscorlib.dll)
Parameters
- rgbHash
- Type: System.Byte[]
The data to be signed.
| Exception | Condition |
|---|---|
| CryptographicUnexpectedOperationException | The key is null. -or- The hash algorithm is null. |
| ArgumentNullException | The rgbHash parameter is null. |
The following example demonstrates how to create a PKCS #1 version 1.5 signature.
using System; using System.Security.Cryptography; class RSASample { static void Main() { try { //Create a new instance of RSACryptoServiceProvider. using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { //The hash to sign. byte[] hash; using (SHA256 sha256 = SHA256.Create()) { byte[] data = new byte[] { 59, 4, 248, 102, 77, 97, 142, 201, 210, 12, 224, 93, 25, 41, 100, 197, 213, 134, 130, 135 }; hash = sha256.ComputeHash(data); } //Create an RSASignatureFormatter object and pass it the //RSACryptoServiceProvider to transfer the key information. RSAPKCS1SignatureFormatter RSAFormatter = new RSAPKCS1SignatureFormatter(rsa); //Set the hash algorithm to SHA256. RSAFormatter.SetHashAlgorithm("SHA256"); //Create a signature for HashValue and return it. byte[] SignedHash = RSAFormatter.CreateSignature(hash); } } catch (CryptographicException e) { Console.WriteLine(e.Message); } } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.