CspParameters.KeyNumber Field

Definition

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

C#
public int KeyNumber;

Field Value

Examples

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

C#
// 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);

Remarks

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.

Applies to

Product Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also