CspKeyContainerInfo.ProviderType Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u het providertype van een sleutel op.
public:
property int ProviderType { int get(); };
public int ProviderType { get; }
member this.ProviderType : int
Public ReadOnly Property ProviderType As Integer
Waarde van eigenschap
Het providertype. De standaardwaarde is 1.
Voorbeelden
In het volgende codevoorbeeld wordt een sleutelcontainer gemaakt en wordt informatie over die container opgehaald.
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
Opmerkingen
Geldige waarden worden bepaald door de cryptografische serviceprovider die wordt gebruikt om de sleutel te maken. Cryptografische serviceproviders zijn over het algemeen ingedeeld in groepen of families, die elk een eigen set gegevensindelingen en -processen hebben. Twee families die gebruikmaken van hetzelfde algoritme, zoals de RC2-blokcode, gebruiken vaak verschillende opvullingsschema's, verschillende sleutellengten en verschillende standaardmodi.