Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

CspParameters.KeyNumber Field

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

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

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8
Show:
© 2015 Microsoft