CspParameters CspParameters CspParameters CspParameters Class

Definice

Obsahuje parametry, které jsou předány do zprostředkovatele 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. Tato třída nemůže dě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íče pomocí CspParameters třídy a uloží klíč v 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řídy vyberte zprostředkovatele kryptografických služeb čipové karty.The following code example uses the CspParameters class to select a Smart Card Cryptographic Service Provider. Potom podepíše a ověří dat 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 reprezentuje parametry, které můžete předat do spravované šifrovacích tříd, které interně pomocí Microsoft zprostředkovatele kryptografických služeb (CSP) z nespravované Microsoft kryptografie rozhraní 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í na "CryptoServiceProvider" jsou spravovaný kód obálky pro odpovídající zprostředkovatele kryptografických služeb.Classes with names ending in "CryptoServiceProvider" are managed code wrappers for the corresponding CSP.

Použití CspParameters třídě, aby provedl následující:Use the CspParameters class to do the following:

  • Zadejte konkrétní zprostředkovatel kryptografických služeb tím, že předáte typ zprostředkovatele, který má ProviderType nebo ProviderName vlastnost.Specify a particular CSP by passing the provider type to the ProviderType or ProviderName property. Můžete také určit zprostředkovatele kryptografických služeb pomocí přetížení konstruktoru.You can also specify a CSP using an overload of the constructor.

  • Vytvořte kontejner klíčů, kam můžete ukládat kryptografické klíče.Create a key container where you can store cryptographic keys. Kontejnery klíčů poskytuje nejbezpečnější způsob, jak zachovat kryptografické klíče a udržujte je v tajnosti škodlivý třetích stran.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íčů najdete v tématu jak: Store asymetrického klíče v kontejneru klíčů.For more information about creating key containers, see How to: Store Asymmetric Keys in a Key Container.

  • Určete, jestli chcete vytvořit klíč rozhraní asymetrického podpisu nebo exchange asymetrického klíče pomocí KeyNumber vlastnost.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 třídy CspParameters třídu s kódem typu zadaného 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 třídy CspParameters třídy pomocí kódu zadaného poskytovatele typu a název.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 třídy CspParameters třídy pomocí kódu zadaného poskytovatele typu a název a název zadaného 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 třídy CspParameters třídy pomocí zprostředkovatele typu, název zprostředkovatele, název kontejneru, přístup k informacím a popisovač pro dialogové okno heslo nespravované č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 třídy CspParameters třídy pomocí zprostředkovatele typu, název zprostředkovatele, název kontejneru, přístup k informacím a heslo spojené s klíčem č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íčů pro CspParameters.Represents the key container name for CspParameters.

KeyNumber KeyNumber KeyNumber KeyNumber

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

ProviderName ProviderName ProviderName ProviderName

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

ProviderType ProviderType ProviderType ProviderType

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

Vlastnosti

CryptoKeySecurity CryptoKeySecurity CryptoKeySecurity CryptoKeySecurity

Získá nebo nastaví CryptoKeySecurity , představuje přístupová práva a auditovat pravidla pro kontejner objektů.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 , které mění 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é nadřazenému oknu 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é