Sdílet prostřednictvím


RSACryptoServiceProvider.CspKeyContainerInfo Vlastnost

Definice

CspKeyContainerInfo Získá objekt, který popisuje další informace o páru kryptografických klíčů.

public:
 property System::Security::Cryptography::CspKeyContainerInfo ^ CspKeyContainerInfo { System::Security::Cryptography::CspKeyContainerInfo ^ get(); };
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public System.Security.Cryptography.CspKeyContainerInfo CspKeyContainerInfo { get; }
public System.Security.Cryptography.CspKeyContainerInfo CspKeyContainerInfo { get; }
[System.Runtime.InteropServices.ComVisible(false)]
public System.Security.Cryptography.CspKeyContainerInfo CspKeyContainerInfo { get; }
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
member this.CspKeyContainerInfo : System.Security.Cryptography.CspKeyContainerInfo
member this.CspKeyContainerInfo : System.Security.Cryptography.CspKeyContainerInfo
[<System.Runtime.InteropServices.ComVisible(false)>]
member this.CspKeyContainerInfo : System.Security.Cryptography.CspKeyContainerInfo
Public ReadOnly Property CspKeyContainerInfo As CspKeyContainerInfo

Hodnota vlastnosti

Objekt CspKeyContainerInfo , který popisuje další informace o páru kryptografických klíčů.

Implementuje

Atributy

Příklady

Následující příklad kódu ukazuje, jak volat CspKeyContainerInfo vlastnost.

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

Poznámky

CspKeyContainerInfo Pomocí vlastnosti můžete načíst další informace o páru kryptografických klíčů. Vrácený CspKeyContainerInfo objekt popisuje, zda je klíč exportovatelný, a určuje název kontejneru klíčů, informace o zprostředkovateli a další informace.

V případech, kdy se vygeneruje náhodný klíč, se kontejner klíčů nevytvořil, dokud nezavoláte metodu, která tento klíč používá. Některé vlastnosti objektu CspKeyContainerInfo vrácené CspKeyContainerInfo vlastností vyvolá, CryptographicException pokud nebyl vytvořen kontejner klíčů. Před voláním CspKeyContainerInfo vlastnosti se ujistěte, že byl vytvořen kontejner klíčů, zavolejte metodu, například Encrypt, DecryptSignData, SignHash, atd.

Platí pro

Viz také