CspParameters Costruttori

Definizione

Inizializza una nuova istanza della classe CspParameters.

Overload

CspParameters()

Inizializza una nuova istanza della classe CspParameters.

CspParameters(Int32)

Inizializza una nuova istanza della classe CspParameters con il codice di tipo del provider specificato.

CspParameters(Int32, String)

Inizializza una nuova istanza della classe CspParameters con il codice di tipo e il nome del provider specificati.

CspParameters(Int32, String, String)

Inizializza una nuova istanza della classe CspParameters con il codice di tipo e il nome del provider specificati e con il nome del contenitore specificato.

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

Inizializza una nuova istanza della classe CspParameters utilizzando un tipo e un nome di provider, un nome di contenitore, informazioni di accesso e un handle per la finestra di dialogo della password della smart card non gestita.

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

Inizializza una nuova istanza della classe CspParameters utilizzando un tipo e un nome di provider, un nome di contenitore, informazioni di accesso e una password associata a una chiave della smart card.

CspParameters()

Source:
CspParameters.cs
Source:
CspParameters.cs
Source:
CspParameters.cs

Inizializza una nuova istanza della classe CspParameters.

public:
 CspParameters();
public CspParameters ();
Public Sub New ()

Esempio

L'esempio di codice seguente crea un contenitore di chiavi usando la classe e salva la CspParameters chiave nel contenitore.

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
End Class

Commenti

Questa forma di CspParameters inizializza il campo in un valore di 24, che specifica il ProviderType provider di PROV_RSA_AES. Questo provider predefinito è compatibile con l'algoritmo Aes .

Per informazioni su altri tipi di provider, vedere il ProviderType campo.

Vedi anche

Si applica a

CspParameters(Int32)

Source:
CspParameters.cs
Source:
CspParameters.cs
Source:
CspParameters.cs

Inizializza una nuova istanza della classe CspParameters con il codice di tipo del provider specificato.

public:
 CspParameters(int dwTypeIn);
public CspParameters (int dwTypeIn);
new System.Security.Cryptography.CspParameters : int -> System.Security.Cryptography.CspParameters
Public Sub New (dwTypeIn As Integer)

Parametri

dwTypeIn
Int32

Codice di tipo del provider che specifica il tipo di provider da creare.

Commenti

Usare il CspParameters costruttore per specificare un tipo di provider passando un valore numerico che rappresenta tale provider. I valori numerici che rappresentano i tipi di provider predefiniti sono definiti nel file di intestazione WinCrypt.h:

  • Per specificare un provider compatibile con l'algoritmo RSA , passare un valore di 1 al dwTypeIn parametro.

  • Per specificare un provider compatibile con l'algoritmo DSA , passare un valore di 13 al dwTypeIn parametro.

Per informazioni su altri valori del tipo di provider, vedere il ProviderType campo . Per altre informazioni sui tipi di provider predefiniti e sui relativi comportamenti, vedere la documentazione dell'API di crittografia Microsoft (CAPI).

Vedi anche

Si applica a

CspParameters(Int32, String)

Source:
CspParameters.cs
Source:
CspParameters.cs
Source:
CspParameters.cs

Inizializza una nuova istanza della classe CspParameters con il codice di tipo e il nome del provider specificati.

public:
 CspParameters(int dwTypeIn, System::String ^ strProviderNameIn);
public CspParameters (int dwTypeIn, string? strProviderNameIn);
public CspParameters (int dwTypeIn, string strProviderNameIn);
new System.Security.Cryptography.CspParameters : int * string -> System.Security.Cryptography.CspParameters
Public Sub New (dwTypeIn As Integer, strProviderNameIn As String)

Parametri

dwTypeIn
Int32

Codice di tipo del provider che specifica il tipo di provider da creare.

strProviderNameIn
String

Nome del provider.

Esempio

Nell'esempio di codice seguente viene usata la CspParameters classe per selezionare un provider di servizi di crittografia smart card. Quindi firma e verifica i dati usando la 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"SHA256" );
   Console::WriteLine( L"Signature	: {0}", BitConverter::ToString( sig ) );
   
   // Verify the data using the Smart Card CryptoGraphic Provider.
   bool verified = rsa->VerifyData( data, L"SHA256", 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, "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

Commenti

Usare il CspParameters costruttore per specificare un tipo di provider e un nome.

Specificare un tipo di provider passando un valore numerico che rappresenta il tipo di provider desiderato. I valori numerici che rappresentano i tipi di provider predefiniti sono definiti nel file di intestazione WinCrypt.h:

  • Per specificare un provider compatibile con l'algoritmo RSA , passare un valore di 1 al dwTypeIn parametro.

  • Per specificare un provider compatibile con l'algoritmo DSA , passare un valore di 13 al dwTypeIn parametro.

Per informazioni su altri valori del tipo di provider, vedere il ProviderType campo . Per altre informazioni sui tipi di provider predefiniti e sui relativi comportamenti, vedere la documentazione dell'API di crittografia Microsoft (CAPI).

Vedi anche

Si applica a

CspParameters(Int32, String, String)

Source:
CspParameters.cs
Source:
CspParameters.cs
Source:
CspParameters.cs

Inizializza una nuova istanza della classe CspParameters con il codice di tipo e il nome del provider specificati e con il nome del contenitore specificato.

public:
 CspParameters(int dwTypeIn, System::String ^ strProviderNameIn, System::String ^ strContainerNameIn);
public CspParameters (int dwTypeIn, string? strProviderNameIn, string? strContainerNameIn);
public CspParameters (int dwTypeIn, string strProviderNameIn, string strContainerNameIn);
new System.Security.Cryptography.CspParameters : int * string * string -> System.Security.Cryptography.CspParameters
Public Sub New (dwTypeIn As Integer, strProviderNameIn As String, strContainerNameIn As String)

Parametri

dwTypeIn
Int32

Codice di tipo del provider che specifica il tipo di provider da creare.

strProviderNameIn
String

Nome del provider.

strContainerNameIn
String

Nome del contenitore.

Commenti

Usare il CspParameters costruttore per specificare un tipo di provider, un nome del provider e un nome del contenitore.

È possibile usare il nome del contenitore per recuperare una chiave all'interno di tale contenitore.

Specificare un tipo di provider passando un valore numerico che rappresenta il tipo di provider desiderato. I valori numerici che rappresentano i tipi di provider predefiniti sono definiti nel file di intestazione WinCrypt.h:

  • Per specificare un provider compatibile con l'algoritmo RSA , passare un valore di 1 al dwTypeIn parametro.

  • Per specificare un provider compatibile con l'algoritmo DSA , passare un valore di 13 al dwTypeIn parametro.

Per informazioni su altri valori del tipo di provider, vedere il ProviderType campo . Per altre informazioni sui tipi di provider predefiniti e sui relativi comportamenti, vedere la documentazione dell'API di crittografia Microsoft (CAPI).

Vedi anche

Si applica a

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

Inizializza una nuova istanza della classe CspParameters utilizzando un tipo e un nome di provider, un nome di contenitore, informazioni di accesso e un handle per la finestra di dialogo della password della smart card non gestita.

public:
 CspParameters(int providerType, System::String ^ providerName, System::String ^ keyContainerName, System::Security::AccessControl::CryptoKeySecurity ^ cryptoKeySecurity, IntPtr parentWindowHandle);
public CspParameters (int providerType, string providerName, string keyContainerName, System.Security.AccessControl.CryptoKeySecurity cryptoKeySecurity, IntPtr parentWindowHandle);
new System.Security.Cryptography.CspParameters : int * string * string * System.Security.AccessControl.CryptoKeySecurity * nativeint -> System.Security.Cryptography.CspParameters
Public Sub New (providerType As Integer, providerName As String, keyContainerName As String, cryptoKeySecurity As CryptoKeySecurity, parentWindowHandle As IntPtr)

Parametri

providerType
Int32

Codice di tipo del provider che specifica il tipo di provider da creare.

providerName
String

Nome del provider.

keyContainerName
String

Nome del contenitore.

cryptoKeySecurity
CryptoKeySecurity

Oggetto che rappresenta i diritti di accesso e le regole di controllo per il contenitore.

parentWindowHandle
IntPtr

nativeint

Handle per la finestra padre della finestra di dialogo della password della smart card.

Commenti

È possibile usare il nome del contenitore per recuperare una chiave all'interno di tale contenitore.

Specificare un tipo di provider passando un valore numerico che rappresenta il tipo di provider desiderato. I valori numerici che rappresentano i tipi di provider predefiniti sono definiti nel file di intestazione WinCrypt.h:

  • Per specificare un provider compatibile con l'algoritmo RSA , passare un valore di 1 al dwTypeIn parametro.

  • Per specificare un provider compatibile con l'algoritmo DSA , passare un valore di 13 al dwTypeIn parametro.

Per informazioni su altri valori del tipo di provider, vedere il ProviderType campo . Per altre informazioni sui tipi di provider predefiniti e sui relativi comportamenti, vedere la documentazione dell'API di crittografia Microsoft (CAPI).

Si applica a

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

Inizializza una nuova istanza della classe CspParameters utilizzando un tipo e un nome di provider, un nome di contenitore, informazioni di accesso e una password associata a una chiave della smart card.

public:
 CspParameters(int providerType, System::String ^ providerName, System::String ^ keyContainerName, System::Security::AccessControl::CryptoKeySecurity ^ cryptoKeySecurity, System::Security::SecureString ^ keyPassword);
public CspParameters (int providerType, string providerName, string keyContainerName, System.Security.AccessControl.CryptoKeySecurity cryptoKeySecurity, System.Security.SecureString keyPassword);
new System.Security.Cryptography.CspParameters : int * string * string * System.Security.AccessControl.CryptoKeySecurity * System.Security.SecureString -> System.Security.Cryptography.CspParameters
Public Sub New (providerType As Integer, providerName As String, keyContainerName As String, cryptoKeySecurity As CryptoKeySecurity, keyPassword As SecureString)

Parametri

providerType
Int32

Codice di tipo del provider che specifica il tipo di provider da creare.

providerName
String

Nome del provider.

keyContainerName
String

Nome del contenitore.

cryptoKeySecurity
CryptoKeySecurity

Oggetto che rappresenta i diritti di accesso e le regole di controllo per un contenitore.

keyPassword
SecureString

Password associata a una chiave della smart card.

Commenti

È possibile usare il nome del contenitore per recuperare una chiave all'interno di tale contenitore.

Specificare un tipo di provider passando un valore numerico che rappresenta il tipo di provider desiderato. I valori numerici che rappresentano i tipi di provider predefiniti sono definiti nel file di intestazione WinCrypt.h:

  • Per specificare un provider compatibile con l'algoritmo RSA , passare un valore di 1 al dwTypeIn parametro.

  • Per specificare un provider compatibile con l'algoritmo DSA , passare un valore di 13 al dwTypeIn parametro.

Per informazioni su altri valori del tipo di provider, vedere il ProviderType campo . Per altre informazioni sui tipi di provider predefiniti e sui relativi comportamenti, vedere la documentazione dell'API di crittografia Microsoft (CAPI).

Si applica a