Auf Englisch lesen

Teilen über


CspParameters Klasse

Definition

Enthält Parameter, die an den Kryptografiedienstanbieter (CSP) übergeben werden, der kryptografische Berechnungen durchführt. Diese Klasse kann nicht vererbt werden.

C#
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public sealed class CspParameters
C#
public sealed class CspParameters
C#
[System.Runtime.InteropServices.ComVisible(true)]
public sealed 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.

C#
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));
    }
}

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.

C#
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);
        }
    }
}

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)

Gilt für:

Produkt Versionen
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Weitere Informationen