CspParameters Třída

Definice

Obsahuje parametry předávané poskytovateli kryptografických služeb (CSP), které provádějí kryptografické výpočty. Tato třída se nemůže dědit.

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
Dědičnost
CspParameters
Atributy

Příklady

Následující příklad kódu vytvoří kontejner klíčů pomocí CspParameters třídy a uloží klíč do kontejneru.

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

Následující příklad kódu používá CspParameters třídu k výběru zprostředkovatele kryptografických služeb čipové karty. Potom podepíše a ověří data pomocí čipové karty.

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

Poznámky

Třída CspParameters představuje parametry, které můžete předat spravovaným kryptografickým třídám, které interně používají Microsoft zprostředkovatele kryptografických služeb (CSP) z nespravovaného rozhraní API kryptografie Microsoft (CAPI). Třídy s názvy končícími na CryptoServiceProvider jsou obálky spravovaného kódu pro odpovídající CSP.

CspParameters Pomocí třídy proveďte následující akce:

  • Zadáním konkrétního poskytovatele CSP předáte typ poskytovatele dané ProviderType vlastnosti.ProviderName Můžete také zadat CSP pomocí přetížení konstruktoru.

  • Vytvořte kontejner klíčů, do kterého můžete ukládat kryptografické klíče. Kontejnery klíčů poskytují nejbezpečnější způsob, jak uchovávat kryptografické klíče a uchovávat je v tajnosti před škodlivými třetími stranami. Další informace o vytváření kontejnerů klíčů najdete v tématu Postupy: Ukládání asymetrických klíčů v kontejneru klíčů.

  • Určete, zda se má vytvořit asymetrický podpisový klíč nebo asymetrický klíč výměny pomocí KeyNumber vlastnosti.

Konstruktory

Name Description
CspParameters()

Inicializuje novou instanci CspParameters třídy.

CspParameters(Int32, String, String, CryptoKeySecurity, IntPtr)

Inicializuje novou instanci CspParameters třídy pomocí typu zprostředkovatele, názvu zprostředkovatele, názvu kontejneru, informací o přístupu a popisovače dialogového okna s nespravovaným heslem čipové karty.

CspParameters(Int32, String, String, CryptoKeySecurity, SecureString)

Inicializuje novou instanci CspParameters třídy pomocí typu zprostředkovatele, názvu zprostředkovatele, názvu kontejneru, přístupových informací a hesla přidruženého ke klíči čipové karty.

CspParameters(Int32, String, String)

Inicializuje novou instanci CspParameters třídy se zadaným kódem a názvem typu zprostředkovatele a zadaným názvem kontejneru.

CspParameters(Int32, String)

Inicializuje novou instanci CspParameters třídy se zadaným kódem a názvem typu zprostředkovatele.

CspParameters(Int32)

Inicializuje novou instanci CspParameters třídy se zadaným kódem typu zprostředkovatele.

Pole

Name Description
KeyContainerName

Představuje název kontejneru klíčů pro CspParameters.

KeyNumber

Určuje, jestli se asymetrický klíč vytvoří jako podpisový klíč nebo klíč výměny.

ProviderName

Představuje název zprostředkovatele pro CspParameters.

ProviderType

Představuje kód typu zprostředkovatele pro CspParameters.

Vlastnosti

Name Description
CryptoKeySecurity

Získá nebo nastaví CryptoKeySecurity objekt, který představuje přístupová práva a pravidla auditu pro kontejner.

Flags

Představuje příznaky, CspParameters které upravují chování zprostředkovatele kryptografických služeb (CSP).

KeyPassword

Získá nebo nastaví heslo přidružené k klíči čipové karty.

ParentWindowHandle

Získá nebo nastaví popisovač na nespravované nadřazené okno pro dialogové okno s heslem čipové karty.

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)

Platí pro

Viz také