CspParameters CspParameters CspParameters CspParameters Class

Définition

Contient les paramètres passés au fournisseur de services de chiffrement (CSP) qui effectue les calculs de chiffrement.Contains parameters that are passed to the cryptographic service provider (CSP) that performs cryptographic computations. Cette classe ne peut pas être héritée.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
Héritage
CspParametersCspParametersCspParametersCspParameters
Attributs

Exemples

L’exemple de code suivant crée un conteneur de clé CspParameters à l’aide de la classe et enregistre la clé dans le conteneur.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.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

L’exemple de code suivant utilise CspParameters la classe pour sélectionner un fournisseur de services de chiffrement de carte à puce.The following code example uses the CspParameters class to select a Smart Card Cryptographic Service Provider. Il signe et vérifie ensuite les données à l’aide de la carte à puce.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.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

Remarques

La CspParameters classe représente des paramètres que vous pouvez passer à des classes de chiffrement managées qui utilisent en interne des fournisseurs de services de chiffrement Microsoft (CSP) à partir de l’API de chiffrement Microsoft (CAPI) non gérée.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). Les classes dont le nom se termine par «CryptoServiceProvider» sont des wrappers de code managé pour le CSP correspondant.Classes with names ending in "CryptoServiceProvider" are managed code wrappers for the corresponding CSP.

Utilisez la CspParameters classe pour effectuer les opérations suivantes:Use the CspParameters class to do the following:

  • Spécifiez un CSP particulier en passant le type de fournisseur ProviderType à ProviderName la propriété ou.Specify a particular CSP by passing the provider type to the ProviderType or ProviderName property. Vous pouvez également spécifier un CSP à l’aide d’une surcharge du constructeur.You can also specify a CSP using an overload of the constructor.

  • Créez un conteneur de clé dans lequel vous pouvez stocker des clés de chiffrement.Create a key container where you can store cryptographic keys. Les conteneurs de clé offrent la manière la plus sécurisée de conserver les clés de chiffrement et de les garder secrètes des tiers malveillants.Key containers provide the most secure way to persist cryptographic keys and keep them secret from malicious third parties. Pour plus d’informations sur la création de conteneurs de clé, consultez Procédure: Stocker les clés asymétriques dans unconteneur de clé.For more information about creating key containers, see How to: Store Asymmetric Keys in a Key Container.

  • Spécifiez s’il faut créer une clé de signature asymétrique ou une clé d' KeyNumber échange asymétrique à l’aide de la propriété.Specify whether to create an asymmetric signature key or an asymmetric exchange key using the KeyNumber property.

Constructeurs

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

Initialise une nouvelle instance de la classe CspParameters.Initializes a new instance of the CspParameters class.

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

Initialise une nouvelle instance de la classe CspParameters avec le code du type de fournisseur spécifié.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)

Initialise une nouvelle instance de la classe CspParameters avec le code et le nom du type de fournisseur spécifié.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)

Initialise une nouvelle instance de la classe CspParameters avec le code et le nom du type de fournisseur spécifié, ainsi que le nom du conteneur spécifié.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)

Initialise une nouvelle instance de la classe CspParameters à l'aide d'un type de fournisseur, d'un nom de fournisseur, d'un nom de conteneur, d'informations d'accès et d'un handle vers une boîte de dialogue non managée pour mot de passe d'accès à une carte à puce.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)

Initialise une nouvelle instance de la classe CspParameters à l'aide d'un type de fournisseur, d'un nom de fournisseur, d'un nom de conteneur, d'informations d'accès et d'un mot de passe associé à une clé de carte à puce.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.

Champs

KeyContainerName KeyContainerName KeyContainerName KeyContainerName

Représente le nom du conteneur de clé pour CspParameters.Represents the key container name for CspParameters.

KeyNumber KeyNumber KeyNumber KeyNumber

Spécifie si une clé asymétrique est créée en tant que clé de signature ou clé d'échange.Specifies whether an asymmetric key is created as a signature key or an exchange key.

ProviderName ProviderName ProviderName ProviderName

Représente le nom du fournisseur pour CspParameters.Represents the provider name for CspParameters.

ProviderType ProviderType ProviderType ProviderType

Représente le code du type de fournisseur pour CspParameters.Represents the provider type code for CspParameters.

Propriétés

CryptoKeySecurity CryptoKeySecurity CryptoKeySecurity CryptoKeySecurity

Obtient ou définit un objet CryptoKeySecurity qui représente des droits d'accès et des règles d'audit pour un conteneur.Gets or sets a CryptoKeySecurity object that represents access rights and audit rules for a container.

Flags Flags Flags Flags

Représente les indicateurs de CspParameters qui modifient le comportement du fournisseur de services de chiffrement (CSP).Represents the flags for CspParameters that modify the behavior of the cryptographic service provider (CSP).

KeyPassword KeyPassword KeyPassword KeyPassword

Obtient ou définit un mot de passe associé à une clé de carte à puce.Gets or sets a password associated with a smart card key.

ParentWindowHandle ParentWindowHandle ParentWindowHandle ParentWindowHandle

Obtient ou définit un handle vers la fenêtre parente non managée d'une boîte de dialogue pour mot de passe d'accès à une carte à puce.Gets or sets a handle to the unmanaged parent window for a smart card password dialog box.

Méthodes

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

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

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

Fait office de fonction de hachage par défaut.Serves as the default hash function.

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

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

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

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

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

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

S’applique à

Voir aussi