CspKeyContainerInfo Class
Provides additional information about a cryptographic key pair. This class cannot be inherited.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | CspKeyContainerInfo(CspParameters^) | Initializes a new instance of the CspKeyContainerInfo class using the specified parameters. |
| Name | Description | |
|---|---|---|
![]() | Accessible | Gets a value indicating whether a key in a key container is accessible. |
![]() | CryptoKeySecurity | Gets a CryptoKeySecurity object that represents access rights and audit rules for a container. |
![]() | Exportable | Gets a value indicating whether a key can be exported from a key container. |
![]() | HardwareDevice | Gets a value indicating whether a key is a hardware key. |
![]() | KeyContainerName | Gets a key container name. |
![]() | KeyNumber | Gets a value that describes whether an asymmetric key was created as a signature key or an exchange key. |
![]() | MachineKeyStore | Gets a value indicating whether a key is from a machine key set. |
![]() | Protected | Gets a value indicating whether a key pair is protected. |
![]() | ProviderName | Gets the provider name of a key. |
![]() | ProviderType | Gets the provider type of a key. |
![]() | RandomlyGenerated | Gets a value indicating whether a key container was randomly generated by a managed cryptography class. |
![]() | Removable | Gets a value indicating whether a key can be removed from a key container. |
![]() | UniqueKeyContainerName | Gets a unique key container name. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object^) | Determines whether the specified object is equal to the current object.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
Use this class to obtain additional information about a key pair, such as the key container name or the key number.
In cases where a random key is generated by the RSACryptoServiceProvider or the DSACryptoServiceProvider, a key container will not be created until you call a method that uses the key. Some properties of the CspKeyContainerInfo class will throw a CryptographicException if a key container has not been created.
The following code example creates a key container and retrieves information about that container.
using namespace System; using namespace System::Security::Cryptography; using namespace System::Text; int main() { RSACryptoServiceProvider^ rsa = gcnew RSACryptoServiceProvider; try { // Note: In cases where a random key is generated, // a key container is not created until you call // a method that uses the key. This example calls // the Encrypt method before calling the // CspKeyContainerInfo property so that a key // container is created. // Create some data to encrypt and display it. String^ data = L"Here is some data to encrypt."; Console::WriteLine( L"Data to encrypt: {0}", data ); // Convert the data to an array of bytes and // encrypt it. array<Byte>^byteData = Encoding::ASCII->GetBytes( data ); array<Byte>^encData = rsa->Encrypt( byteData, false ); // Display the encrypted value. Console::WriteLine( L"Encrypted Data: {0}", Encoding::ASCII->GetString( encData ) ); Console::WriteLine(); Console::WriteLine( L"CspKeyContainerInfo information:" ); Console::WriteLine(); // Create a new CspKeyContainerInfo object. CspKeyContainerInfo^ keyInfo = rsa->CspKeyContainerInfo; // Display the value of each property. Console::WriteLine( L"Accessible property: {0}", keyInfo->Accessible ); Console::WriteLine( L"Exportable property: {0}", keyInfo->Exportable ); Console::WriteLine( L"HardwareDevice property: {0}", keyInfo->HardwareDevice ); Console::WriteLine( L"KeyContainerName property: {0}", keyInfo->KeyContainerName ); Console::WriteLine( L"KeyNumber property: {0}", keyInfo->KeyNumber ); Console::WriteLine( L"MachineKeyStore property: {0}", keyInfo->MachineKeyStore ); Console::WriteLine( L"Protected property: {0}", keyInfo->Protected ); Console::WriteLine( L"ProviderName property: {0}", keyInfo->ProviderName ); Console::WriteLine( L"ProviderType property: {0}", keyInfo->ProviderType ); Console::WriteLine( L"RandomlyGenerated property: {0}", keyInfo->RandomlyGenerated ); Console::WriteLine( L"Removable property: {0}", keyInfo->Removable ); Console::WriteLine( L"UniqueKeyContainerName property: {0}", keyInfo->UniqueKeyContainerName ); } catch ( Exception^ e ) { Console::WriteLine( e ); } finally { // Clear the key. rsa->Clear(); } }
Available since 2.0
Windows Phone Silverlight
Available since 7.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

