CspKeyContainerInfo Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje další informace o páru kryptografických klíčů. Tato třída se nemůže dědit.
public ref class CspKeyContainerInfo sealed
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public sealed class CspKeyContainerInfo
public sealed class CspKeyContainerInfo
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CspKeyContainerInfo
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
type CspKeyContainerInfo = class
type CspKeyContainerInfo = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type CspKeyContainerInfo = class
Public NotInheritable Class CspKeyContainerInfo
- Dědičnost
-
CspKeyContainerInfo
- Atributy
Příklady
Následující příklad kódu vytvoří kontejner klíčů a načte informace o tomto kontejneru.
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
Tato třída slouží k získání dalších informací o páru klíčů, například název kontejneru klíčů nebo číslo klíče.
V případech, kdy je náhodný klíč generován RSACryptoServiceProvider pomocí nebo DSACryptoServiceProvider, kontejner klíčů nebude vytvořen, dokud nevoláte metodu, která používá klíč. Některé vlastnosti CspKeyContainerInfo třídy vyvolá výjimku CryptographicException , pokud nebyl vytvořen kontejner klíčů.
Konstruktory
| Name | Description |
|---|---|
| CspKeyContainerInfo(CspParameters) |
Inicializuje novou instanci CspKeyContainerInfo třídy pomocí zadaných parametrů. |
Vlastnosti
| Name | Description |
|---|---|
| Accessible |
Získá hodnotu označující, zda je klíč v kontejneru klíčů přístupný. |
| CryptoKeySecurity |
CryptoKeySecurity Získá objekt, který představuje přístupová práva a pravidla auditu pro kontejner. |
| Exportable |
Získá hodnotu určující, zda klíč lze exportovat z kontejneru klíčů. |
| HardwareDevice |
Získá hodnotu označující, jestli je klíč hardwarovým klíčem. |
| KeyContainerName |
Získá název kontejneru klíčů. |
| KeyNumber |
Získá hodnotu, která popisuje, zda asymetrický klíč byl vytvořen jako podpisový klíč nebo klíč výměny. |
| MachineKeyStore |
Získá hodnotu určující, zda klíč je ze sady klíčů počítače. |
| Protected |
Získá hodnotu označující, zda je pár klíčů chráněn. |
| ProviderName |
Získá název zprostředkovatele klíče. |
| ProviderType |
Získá typ zprostředkovatele klíče. |
| RandomlyGenerated |
Získá hodnotu určující, zda kontejner klíčů byl náhodně generován spravovanou kryptografickou třídou. |
| Removable |
Získá hodnotu určující, zda klíč lze odebrat z kontejneru klíčů. |
| UniqueKeyContainerName |
Získá jedinečný název kontejneru klíčů. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |