CspParameters CspParameters CspParameters CspParameters Class

Definice

Obsahuje parametry, které jsou předány zprostředkovateli kryptografických služeb (CSP), který provádí kryptografické výpočty.Contains parameters that are passed to the cryptographic service provider (CSP) that performs cryptographic computations. Tuto třídu nelze zdědit.This class cannot be inherited.

public ref class CspParameters sealed
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CspParameters
type CspParameters = class
Public NotInheritable Class CspParameters
Dědičnost
CspParametersCspParametersCspParametersCspParameters
Atributy

Příklady

Následující příklad kódu vytvoří kontejner klíčů pomocí CspParameters třídy a uloží klíč do kontejneru.The following code example creates a key container using the CspParameters class and saves the key in the container.

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
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 'Main
End Class 'StoreKey

Následující příklad kódu používá CspParameters třídu k výběru poskytovatele kryptografických služeb pro čipové karty.The following code example uses the CspParameters class to select a Smart Card Cryptographic Service Provider. Pak podepisuje a ověřuje data pomocí čipové karty.It then signs and verifies data using the smart card.

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"SHA1" );
   Console::WriteLine( L"Signature	: {0}", BitConverter::ToString( sig ) );
   
   // Verify the data using the Smart Card CryptoGraphic Provider.
   bool verified = rsa->VerifyData( data, L"SHA1", 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, "SHA1");

            Console.WriteLine("Signature	: " + BitConverter.ToString(sig));

            // Verify the data using the Smart Card CryptoGraphic Provider.
            bool verified = rsa.VerifyData(data, "SHA1", sig);

            Console.WriteLine("Verified		: " + verified);

        }
    }
}
Imports System
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, "SHA1")

        Console.WriteLine("Signature : " + BitConverter.ToString(sig))

        ' Verify the data using the Smart Card CryptoGraphic Provider.
        Dim verified As Boolean = rsa.VerifyData(data, "SHA1", sig)

        Console.WriteLine("Verified")

    End Sub

End Module

Poznámky

CspParameters Třída představuje parametry, které můžete předat spravovaným kryptografickým třídám, které interně využívají zprostředkovatele kryptografických služeb Microsoft (CSP) z nespravovaného rozhraní Microsoft Cryptography API (CAPI).The CspParameters class represents parameters that you can pass to managed cryptography classes that internally use Microsoft Cryptographic Service Providers (CSPs) from the unmanaged Microsoft Cryptography API (CAPI). Třídy s názvy končícími na "CryptoServiceProvider" jsou obálkami spravovaného kódu pro odpovídající CSP.Classes with names ending in "CryptoServiceProvider" are managed code wrappers for the corresponding CSP.

CspParameters Použijte třídu k následujícím akcím:Use the CspParameters class to do the following:

  • Zadejte konkrétního zprostředkovatele CSP předáním typu poskytovatele do ProviderType vlastnosti nebo. ProviderNameSpecify a particular CSP by passing the provider type to the ProviderType or ProviderName property. CSP můžete zadat také pomocí přetížení konstruktoru.You can also specify a CSP using an overload of the constructor.

  • Vytvořte kontejner klíčů, do kterého můžete ukládat kryptografické klíče.Create a key container where you can store cryptographic keys. Kontejnery klíčů poskytují nejbezpečnější způsob, jak zachovat kryptografické klíče a chránit je před škodlivými třetími stranami.Key containers provide the most secure way to persist cryptographic keys and keep them secret from malicious third parties. Další informace o vytváření kontejnerů klíčů naleznete v tématu How to: Ukládejte asymetrické klíče do kontejneruklíčů.For more information about creating key containers, see How to: Store Asymmetric Keys in a Key Container.

  • Určete, zda se má vytvořit klíč asymetrického podpisu nebo asymetrický klíč pro výměnu KeyNumber pomocí vlastnosti.Specify whether to create an asymmetric signature key or an asymmetric exchange key using the KeyNumber property.

Konstruktory

CspParameters() CspParameters() CspParameters() CspParameters()

Inicializuje novou instanci třídy CspParameters třídy.Initializes a new instance of the CspParameters class.

CspParameters(Int32) CspParameters(Int32) CspParameters(Int32) CspParameters(Int32)

Inicializuje novou instanci CspParameters třídy se zadaným kódem typu zprostředkovatele.Initializes a new instance of the CspParameters class with the specified provider type code.

CspParameters(Int32, String) CspParameters(Int32, String) CspParameters(Int32, String) CspParameters(Int32, String)

Inicializuje novou instanci CspParameters třídy se zadaným kódem a názvem typu zprostředkovatele.Initializes a new instance of the CspParameters class with the specified provider type code and name.

CspParameters(Int32, String, String) CspParameters(Int32, String, String) CspParameters(Int32, String, String) 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.Initializes a new instance of the CspParameters class with the specified provider type code and name, and the specified container name.

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

Inicializuje novou instanci CspParameters třídy pomocí typu poskytovatele, názvu poskytovatele, názvu kontejneru, přístupu k informacím a popisovače nespravovaného dialogového okna pro heslo čipové karty.Initializes a new instance of the CspParameters class using a provider type, a provider name, a container name, access information, and a handle to an unmanaged smart card password dialog.

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

Inicializuje novou instanci CspParameters třídy pomocí typu poskytovatele, názvu poskytovatele, názvu kontejneru, přístupu k informacím a hesla přidruženého k klíči čipové karty.Initializes a new instance of the CspParameters class using a provider type, a provider name, a container name, access information, and a password associated with a smart card key.

Pole

KeyContainerName KeyContainerName KeyContainerName KeyContainerName

Představuje název kontejneru klíče pro CspParameters.Represents the key container name for CspParameters.

KeyNumber KeyNumber KeyNumber KeyNumber

Určuje, zda je vytvořen asymetrický klíč jako klíč podpisu nebo klíč výměny.Specifies whether an asymmetric key is created as a signature key or an exchange key.

ProviderName ProviderName ProviderName ProviderName

Představuje název poskytovatele pro CspParameters.Represents the provider name for CspParameters.

ProviderType ProviderType ProviderType ProviderType

Představuje kód typu poskytovatele pro CspParameters.Represents the provider type code for CspParameters.

Vlastnosti

CryptoKeySecurity CryptoKeySecurity CryptoKeySecurity CryptoKeySecurity

Získá nebo nastaví CryptoKeySecurity objekt, který představuje přístupová práva a pravidla auditu pro kontejner.Gets or sets a CryptoKeySecurity object that represents access rights and audit rules for a container.

Flags Flags Flags Flags

Představuje příznaky pro CspParameters změnu chování zprostředkovatele kryptografických služeb (CSP).Represents the flags for CspParameters that modify the behavior of the cryptographic service provider (CSP).

KeyPassword KeyPassword KeyPassword KeyPassword

Získá nebo nastaví heslo přidružené k klíči čipové karty.Gets or sets a password associated with a smart card key.

ParentWindowHandle ParentWindowHandle ParentWindowHandle ParentWindowHandle

Získá nebo nastaví popisovač nespravovaného nadřazeného okna pro dialogové okno heslo čipové karty.Gets or sets a handle to the unmanaged parent window for a smart card password dialog box.

Metody

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Určuje, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Získá Type aktuální instance.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Vytvoří Mělkou kopii aktuální Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Inherited from Object)

Platí pro

Viz také