This documentation is archived and is not being maintained.

KeyNumber Enumeration

Specifies whether to create an asymmetric signature key or an asymmetric exchange key.

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

public enum class KeyNumber

Member nameDescription
ExchangeAn exchange key pair used to encrypt session keys so that they can be safely stored and exchanged with other users.

This value corresponds to the AT_KEYEXCHANGE value used in the unmanaged Microsoft Cryptographic API (CAPI).

SignatureA signature key pair used for authenticating digitally signed messages or files.

This value corresponds to the AT_SIGNATURE value used in the unmanaged Microsoft Cryptographic API (CAPI).

Use the KeyNumber enumeration with the KeyNumber property to inspect a key type or with the KeyNumber field to specify a key type.

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 = gcnew CspParameters();

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

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

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.