CspKeyContainerInfo Класс

Определение

Предоставляет дополнительные сведения о паре криптографических ключей. Этот класс не наследуется.

public ref class CspKeyContainerInfo sealed
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CspKeyContainerInfo
public sealed class CspKeyContainerInfo
[<System.Runtime.InteropServices.ComVisible(true)>]
type CspKeyContainerInfo = class
type CspKeyContainerInfo = class
Public NotInheritable Class CspKeyContainerInfo
Наследование
CspKeyContainerInfo
Атрибуты

Примеры

В следующем примере кода создается контейнер ключей и извлекается информация об этом контейнере.

using System;
using System.Security.Cryptography;
using System.Text;

public class CspKeyContainerInfoExample
{

    public static void Main(String[] args)
    {
        RSACryptoServiceProvider rsa = new 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 = "Here is some data to encrypt.";

            Console.WriteLine("Data to encrypt: " + data);

            // Convert the data to an array of bytes and
            // encrypt it.
            byte[] byteData = Encoding.ASCII.GetBytes(data);

            byte[] encData = rsa.Encrypt(byteData, false);

            // Display the encrypted value.
            Console.WriteLine("Encrypted Data: " + Encoding.ASCII.GetString(encData));

            Console.WriteLine();

            Console.WriteLine("CspKeyContainerInfo information:");

            Console.WriteLine();

            // Create a new CspKeyContainerInfo object.
            CspKeyContainerInfo keyInfo = rsa.CspKeyContainerInfo;

            // Display the value of each property.

            Console.WriteLine("Accessible property: " + keyInfo.Accessible);

            Console.WriteLine("Exportable property: " + keyInfo.Exportable);

            Console.WriteLine("HardwareDevice property: " + keyInfo.HardwareDevice);

            Console.WriteLine("KeyContainerName property: " + keyInfo.KeyContainerName);

            Console.WriteLine("KeyNumber property: " + keyInfo.KeyNumber.ToString());

            Console.WriteLine("MachineKeyStore property: " + keyInfo.MachineKeyStore);

            Console.WriteLine("Protected property: " + keyInfo.Protected);

            Console.WriteLine("ProviderName property: " + keyInfo.ProviderName);

            Console.WriteLine("ProviderType property: " + keyInfo.ProviderType);

            Console.WriteLine("RandomlyGenerated property: " + keyInfo.RandomlyGenerated);

            Console.WriteLine("Removable property: " + keyInfo.Removable);

            Console.WriteLine("UniqueKeyContainerName property: " + keyInfo.UniqueKeyContainerName);
        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
        finally
        {
            // Clear the key.
            rsa.Clear();
        }
    }
}
Imports System.Security.Cryptography
Imports System.Text

Module CspKeyContainerInfoExample

    Sub Main(ByVal args() As String)
        Dim rsa As New 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.
            Dim data As String = "Here is some data to encrypt."

            Console.WriteLine("Data to encrypt: " + data)

            ' Convert the data to an array of bytes and 
            ' encrypt it.
            Dim byteData As Byte() = Encoding.ASCII.GetBytes(data)

            Dim encData As Byte() = rsa.Encrypt(byteData, False)

            ' Display the encrypted value.
            Console.WriteLine("Encrypted Data: " + Encoding.ASCII.GetString(encData))

            Console.WriteLine()

            Console.WriteLine("CspKeyContainerInfo information:")

            Console.WriteLine()

            ' Create a new CspKeyContainerInfo object.
            Dim keyInfo As CspKeyContainerInfo = rsa.CspKeyContainerInfo

            ' Display the value of each property.
            Console.WriteLine("Accessible property: " + keyInfo.Accessible.ToString())

            Console.WriteLine("Exportable property: " + keyInfo.Exportable.ToString())

            Console.WriteLine("HardwareDevice property: " + keyInfo.HardwareDevice.ToString())

            Console.WriteLine("KeyContainerName property: " + keyInfo.KeyContainerName)

            Console.WriteLine("KeyNumber property: " + keyInfo.KeyNumber.ToString())

            Console.WriteLine("MachineKeyStore property: " + keyInfo.MachineKeyStore.ToString())

            Console.WriteLine("Protected property: " + keyInfo.Protected.ToString())

            Console.WriteLine("ProviderName property: " + keyInfo.ProviderName)

            Console.WriteLine("ProviderType property: " + keyInfo.ProviderType.ToString())

            Console.WriteLine("RandomlyGenerated property: " + keyInfo.RandomlyGenerated.ToString())

            Console.WriteLine("Removable property: " + keyInfo.Removable.ToString())

            Console.WriteLine("UniqueKeyContainerName property: " + keyInfo.UniqueKeyContainerName)


        Catch e As Exception
            Console.WriteLine(e.ToString())
        Finally
            ' Clear the key.
            rsa.Clear()
        End Try
        Console.ReadLine()

    End Sub
End Module

Комментарии

Используйте этот класс для получения дополнительных сведений о паре ключей, таких как имя контейнера ключа или номер ключа.

В случаях, когда случайный ключ создается RSACryptoServiceProvider или DSACryptoServiceProviderконтейнер ключей, не будет создан, пока не вызовете метод, использующий ключ. Некоторые свойства класса вызывают исключениеCryptographicException, если контейнер ключей CspKeyContainerInfo не был создан.

Конструкторы

Имя Описание
CspKeyContainerInfo(CspParameters)

Инициализирует новый экземпляр CspKeyContainerInfo класса с помощью указанных параметров.

Свойства

Имя Описание
Accessible

Возвращает значение, указывающее, доступен ли ключ в контейнере ключей.

CryptoKeySecurity

CryptoKeySecurity Возвращает объект, представляющий права доступа и правила аудита для контейнера.

Exportable

Возвращает значение, указывающее, можно ли экспортировать ключ из контейнера ключей.

HardwareDevice

Возвращает значение, указывающее, является ли ключ аппаратным ключом.

KeyContainerName

Возвращает имя контейнера ключей.

KeyNumber

Возвращает значение, описывающее, был ли асимметричный ключ создан в качестве ключа подписи или ключа exchange.

MachineKeyStore

Возвращает значение, указывающее, является ли ключ из набора ключей компьютера.

Protected

Возвращает значение, указывающее, защищена ли пара ключей.

ProviderName

Возвращает имя поставщика ключа.

ProviderType

Возвращает тип поставщика ключа.

RandomlyGenerated

Возвращает значение, указывающее, был ли контейнер ключей случайно создан классом управляемой криптографии.

Removable

Возвращает значение, указывающее, можно ли удалить ключ из контейнера ключей.

UniqueKeyContainerName

Возвращает уникальное имя контейнера ключей.

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к