Export (0) Print
Expand All

SignedCms.ComputeSignature Method (CmsSigner)

The ComputeSignature(CmsSigner) method creates a signature using the specified signer and adds the signature to the CMS/PKCS #7 message.

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

public void ComputeSignature(
	CmsSigner signer
)

Parameters

signer
Type: System.Security.Cryptography.Pkcs.CmsSigner

A CmsSigner object that represents the signer.

ExceptionCondition
ArgumentNullException

A null reference was passed to a method that does not accept it as a valid argument.

CryptographicException

A cryptographic operation could not be completed.

.NET Framework Security

The following permissions are required to access the signature key:

The following example shows the steps to compute a signature on a SignedCms message with message content that is not detached. In this case, the message content is included in the SignedCms message.

// The dataToSign byte array holds the data to be signed.
ContentInfo contentInfo = new ContentInfo(dataToSign);

// Create a new, nondetached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo);

// Sign the message.
signedCms.ComputeSignature();

// Encode the message. 
byte[] myCmsMessage = signedCms.Encode();

// The signed CMS/PKCS #7 message is ready to send. 
// The original content is included in this byte array.

The following example shows the steps to compute a signature on a SignedCms message with message content that is detached. In this case, the message content must be verified independently of the SignedCms message.

// The dataToSign byte array holds the data to be signed.
ContentInfo contentInfo = new ContentInfo(dataToSign);

// Create a new, detached SignedCms message.
SignedCms signedCms = new SignedCms(contentInfo, true);

// Sign the message.
signedCms.ComputeSignature();

// Encode the message. 
byte[] myCmsMessage = signedCms.Encode();

// The signed CMS/PKCS #7 message is ready to send. 
// The original content is not included in this byte array.

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, 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.

Show:
© 2014 Microsoft