CspParameters.KeyNumber Field


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Specifies whether an asymmetric key is created as a signature key or an exchange key.

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

public int KeyNumber

Field Value

Type: System.Int32

The KeyNumber field initializes the KeyNumber property when you initialize a CspKeyContainerInfo object with a CspParameters object.

An exchange key is an asymmetric key pair used to encrypt session keys so that they can be safely stored and exchanged with other users. You can use the Exchange value (1) to specify an exchange key. This value corresponds to the AT_KEYEXCHANGE value used in the unmanaged Microsoft Cryptographic API (CAPI).

A signature key is an asymmetric key pair used for authenticating digitally signed messages or files. You can use the Signature value (2) to specify a signature key. This value corresponds to the AT_SIGNATURE value used in CAPI.

By default, the KeyNumber field specifies an exchange key.

The following code example demonstrates how to use the KeyNumber enumeration to specify a key type for an RSACryptoServiceProvider object.

// Create a new CspParameters object.
CspParameters cspParams = new CspParameters();

// Specify an exchange key.
cspParams.KeyNumber = (int) KeyNumber.Exchange;

// Initialize the RSACryptoServiceProvider  
// with the CspParameters object.
RSACryptoServiceProvider RSACSP = new RSACryptoServiceProvider(cspParams);

.NET Framework
Available since 1.1
Windows Phone Silverlight
Available since 7.1
Return to top