CspParameters Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Enthält Parameter, die an den Kryptografiedienstanbieter (CSP) übergeben werden, der kryptografische Berechnungen durchführt. Diese Klasse kann nicht vererbt werden.
public ref class CspParameters sealed
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public sealed class CspParameters
public sealed class CspParameters
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CspParameters
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
type CspParameters = class
type CspParameters = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type CspParameters = class
Public NotInheritable Class CspParameters
- Vererbung
-
CspParameters
- Attribute
Beispiele
Im folgenden Codebeispiel wird ein Schlüsselcontainer mithilfe der CspParameters -Klasse erstellt und der Schlüssel im Container gespeichert.
using namespace System;
using namespace System::IO;
using namespace System::Security::Cryptography;
int main()
{
// creates the CspParameters object and sets the key container name used to store the RSA key pair
CspParameters^ cp = gcnew CspParameters;
cp->KeyContainerName = "MyKeyContainerName";
// instantiates the rsa instance accessing the key container MyKeyContainerName
RSACryptoServiceProvider^ rsa = gcnew RSACryptoServiceProvider( cp );
// add the below line to delete the key entry in MyKeyContainerName
// rsa.PersistKeyInCsp = false;
//writes out the current key pair used in the rsa instance
Console::WriteLine( "Key is : \n{0}", rsa->ToXmlString( true ) );
}
using System;
using System.IO;
using System.Security.Cryptography;
public class StoreKey
{
public static void Main()
{
// creates the CspParameters object and sets the key container name used to store the RSA key pair
CspParameters cp = new CspParameters();
cp.KeyContainerName = "MyKeyContainerName";
// instantiates the rsa instance accessing the key container MyKeyContainerName
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(cp);
// add the below line to delete the key entry in MyKeyContainerName
// rsa.PersistKeyInCsp = false;
//writes out the current key pair used in the rsa instance
Console.WriteLine("Key is : \n" + rsa.ToXmlString(true));
}
}
Imports System.IO
Imports System.Security.Cryptography
Public Class StoreKey
Public Shared Sub Main()
' creates the CspParameters object and sets the key container name used to store the RSA key pair
Dim cp As New CspParameters()
cp.KeyContainerName = "MyKeyContainerName"
' instantiates the rsa instance accessing the key container MyKeyContainerName
Dim rsa As New RSACryptoServiceProvider(cp)
' add the below line to delete the key entry in MyKeyContainerName
' rsa.PersistKeyInCsp = false;
'writes out the current key pair used in the rsa instance
Console.WriteLine("Key is : " & rsa.ToXmlString(True))
End Sub
End Class
Im folgenden Codebeispiel wird die CspParameters -Klasse verwendet, um einen Smartcard-Kryptografiedienstanbieter auszuwählen. Anschließend werden Daten mithilfe der Smartcard signiert und überprüft.
using namespace System;
using namespace System::Security::Cryptography;
int main()
{
// To idendify the Smart Card CryptoGraphic Providers on your
// computer, use the Microsoft Registry Editor (Regedit.exe).
// The available Smart Card CryptoGraphic Providers are listed
// in HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
// Create a new CspParameters object that identifies a
// Smart Card CryptoGraphic Provider.
// The 1st parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider Types.
// The 2nd parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
CspParameters^ csp = gcnew CspParameters( 1,L"Schlumberger Cryptographic Service Provider" );
csp->Flags = CspProviderFlags::UseDefaultKeyContainer;
// Initialize an RSACryptoServiceProvider object using
// the CspParameters object.
RSACryptoServiceProvider^ rsa = gcnew RSACryptoServiceProvider( csp );
// Create some data to sign.
array<Byte>^data = gcnew array<Byte>{
0,1,2,3,4,5,6,7
};
Console::WriteLine( L"Data : {0}", BitConverter::ToString( data ) );
// Sign the data using the Smart Card CryptoGraphic Provider.
array<Byte>^sig = rsa->SignData( data, L"SHA256" );
Console::WriteLine( L"Signature : {0}", BitConverter::ToString( sig ) );
// Verify the data using the Smart Card CryptoGraphic Provider.
bool verified = rsa->VerifyData( data, L"SHA256", sig );
Console::WriteLine( L"Verified : {0}", verified );
}
using System;
using System.Security.Cryptography;
namespace SmartCardSign
{
class SCSign
{
static void Main(string[] args)
{
// To idendify the Smart Card CryptoGraphic Providers on your
// computer, use the Microsoft Registry Editor (Regedit.exe).
// The available Smart Card CryptoGraphic Providers are listed
// in HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
// Create a new CspParameters object that identifies a
// Smart Card CryptoGraphic Provider.
// The 1st parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider Types.
// The 2nd parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
CspParameters csp = new CspParameters(1, "Schlumberger Cryptographic Service Provider");
csp.Flags = CspProviderFlags.UseDefaultKeyContainer;
// Initialize an RSACryptoServiceProvider object using
// the CspParameters object.
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(csp);
// Create some data to sign.
byte[] data = new byte[] { 0, 1, 2, 3, 4, 5, 6, 7 };
Console.WriteLine("Data : " + BitConverter.ToString(data));
// Sign the data using the Smart Card CryptoGraphic Provider.
byte[] sig = rsa.SignData(data, "SHA256");
Console.WriteLine("Signature : " + BitConverter.ToString(sig));
// Verify the data using the Smart Card CryptoGraphic Provider.
bool verified = rsa.VerifyData(data, "SHA256", sig);
Console.WriteLine("Verified : " + verified);
}
}
}
Imports System.Security.Cryptography
Module SCSign
Sub Main(ByVal args() As String)
' To idendify the Smart Card CryptoGraphic Providers on your
' computer, use the Microsoft Registry Editor (Regedit.exe).
' The available Smart Card CryptoGraphic Providers are listed
' in HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
' Create a new CspParameters object that identifies a
' Smart Card CryptoGraphic Provider.
' The 1st parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider Types.
' The 2nd parameter comes from HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider.
Dim csp As New CspParameters(1, "Schlumberger Cryptographic Service Provider")
csp.Flags = CspProviderFlags.UseDefaultKeyContainer
' Initialize an RSACryptoServiceProvider object using
' the CspParameters object.
Dim rsa As New RSACryptoServiceProvider(csp)
' Create some data to sign.
Dim data() As Byte = {0, 1, 2, 3, 4, 5, 6, 7}
Console.WriteLine("Data : " + BitConverter.ToString(data))
' Sign the data using the Smart Card CryptoGraphic Provider.
Dim sig As Byte() = rsa.SignData(data, "SHA256")
Console.WriteLine("Signature : " + BitConverter.ToString(sig))
' Verify the data using the Smart Card CryptoGraphic Provider.
Dim verified As Boolean = rsa.VerifyData(data, "SHA256", sig)
Console.WriteLine("Verified")
End Sub
End Module
Hinweise
Die CspParameters -Klasse stellt Parameter dar, die Sie an verwaltete Kryptografieklassen übergeben können, die intern Microsoft Cryptographic Service Providers (CSPs) aus der nicht verwalteten Microsoft Cryptography API (CAPI) verwenden. Klassen mit Namen, die auf "CryptoServiceProvider" enden, sind verwaltete Codewrapper für den entsprechenden CSP.
Verwenden Sie die CspParameters -Klasse, um die folgenden Schritte auszuführen:
Geben Sie einen bestimmten CSP an, indem Sie den Anbietertyp an die - oder ProviderName -ProviderTypeEigenschaft übergeben. Sie können auch einen CSP mithilfe einer Überladung des Konstruktors angeben.
Erstellen Sie einen Schlüsselcontainer, in dem Sie kryptografische Schlüssel speichern können. Schlüsselcontainer bieten die sicherste Möglichkeit, kryptografische Schlüssel zu speichern und sie vor böswilligen Dritten geheim zu halten. Weitere Informationen zum Erstellen von Schlüsselcontainern finden Sie unter Gewusst wie: Speichern von asymmetrischen Schlüsseln in einem Schlüsselcontainer.
Geben Sie mithilfe der KeyNumber -Eigenschaft an, ob ein asymmetrischer Signaturschlüssel oder ein asymmetrischer Austauschschlüssel erstellt werden soll.
Konstruktoren
CspParameters() |
Initialisiert eine neue Instanz der CspParameters-Klasse. |
CspParameters(Int32) |
Initialisiert eine neue Instanz der CspParameters-Klasse mit dem angegebenen Anbietertypcode. |
CspParameters(Int32, String) |
Initialisiert eine neue Instanz der CspParameters-Klasse mit dem angegebenen Code und Namen des Anbietertyps. |
CspParameters(Int32, String, String) |
Initialisiert eine neue Instanz der CspParameters-Klasse mit dem angegebenen Code und Namen des Anbietertyps und dem angegebenen Containertyp. |
CspParameters(Int32, String, String, CryptoKeySecurity, IntPtr) |
Initialisiert eine neue Instanz der CspParameters-Klasse mit einem Anbietertyp, einem Anbieternamen, einem Containernamen, Zugriffsinformationen und einem Handle für ein nicht verwaltetes Smartcard-Kennwortdialogfeld. |
CspParameters(Int32, String, String, CryptoKeySecurity, SecureString) |
Initialisiert eine neue Instanz der CspParameters-Klasse mit einem Anbietertyp, einem Anbieternamen, einem Containernamen, Zugriffsinformationen und einem Kennwort, das einem Smartcardschlüssel zugeordnet ist. |
Felder
KeyContainerName |
Stellt den Schlüsselcontainernamen für CspParameters dar. |
KeyNumber |
Gibt an, ob ein asymmetrischer Schlüssel als Signaturschlüssel oder als Austauschschlüssel erstellt wurde. |
ProviderName |
Stellt den Anbieternamen für CspParameters dar. |
ProviderType |
Stellt den Anbietertypcode für CspParameters dar. |
Eigenschaften
CryptoKeySecurity |
Ruft ein CryptoKeySecurity-Objekt ab, das Zugriffsrechte und Überwachungsregeln für einen Container darstellt, oder legt dieses fest. |
Flags |
Stellt die Flags für CspParameters dar, die das Verhalten des Kryptografiedienstanbieters (Cryptographic Service Provider, CSP) ändern. |
KeyPassword |
Ruft ein einem Smartcardschlüssel zugeordnetes Kennwort ab oder legt dieses fest. |
ParentWindowHandle |
Ruft ein Handle für das nicht verwaltete übergeordnete Fenster eines Smartcard-Kennwortdialogfelds ab oder legt dieses fest. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |