Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese
Questa documentazione è stata archiviata e non viene gestita.

Classe CspParameters

Contiene i parametri passati al provider del servizio di crittografia (CSP, Cryptographic Service Provider) che esegue i calcoli crittografici. Questa classe non può essere ereditata.

System.Object
  System.Security.Cryptography.CspParameters

Spazio dei nomi:  System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

[ComVisibleAttribute(true)]
public sealed class CspParameters

Il tipo CspParameters espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoCspParameters()Inizializza una nuova istanza della classe CspParameters.
Metodo pubblicoCspParameters(Int32)Inizializza una nuova istanza della classe CspParameters con il codice del tipo di provider specificato.
Metodo pubblicoCspParameters(Int32, String)Inizializza una nuova istanza della classe CspParameters con il codice e il nome del tipo di provider specificati.
Metodo pubblicoCspParameters(Int32, String, String)Inizializza una nuova istanza della classe CspParameters con il codice e il nome del tipo di provider e il nome di contenitore specificati.
Metodo pubblicoCspParameters(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.
Metodo pubblicoCspParameters(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.
In alto

  NomeDescrizione
Proprietà pubblicaCryptoKeySecurityOttiene o imposta un oggetto CryptoKeySecurity che rappresenta i diritti di accesso e le regole di controllo per un contenitore.
Proprietà pubblicaFlagsRappresenta i flag per CspParameters che modificano il comportamento del provider del servizio di crittografia (CSP).
Proprietà pubblicaKeyPasswordOttiene o imposta una password associata a una chiave della smart card.
Proprietà pubblicaParentWindowHandleOttiene o imposta un handle per la finestra padre non gestita della finestra di dialogo della password della smart card.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object)Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCodeFunge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

  NomeDescrizione
Campo pubblicoKeyContainerNameRappresenta il nome del contenitore di chiavi di CspParameters.
Campo pubblicoKeyNumberSpecifica se è stata creata una chiave asimmetrica come chiave di firma o chiave di scambio.
Campo pubblicoProviderNameRappresenta il nome del provider di CspParameters.
Campo pubblicoProviderTypeRappresenta il codice del tipo di provider di CspParameters.
In alto

La classe CspParameters rappresenta i parametri che possono essere passati alle classi di crittografia gestite che utilizzano internamente il provider del servizio di crittografia Microsoft (CSP, Cryptographic Service Provider) dall'interfaccia API di crittografia Microsoft non gestita. Le classi i cui nomi terminano in "CryptoServiceProvider" sono wrapper di codice gestito del corrispondente provider del servizio di crittografia.

Utilizzare la classe CspParameters per le operazioni di seguito descritte:

  • Specificare un providere del servizio di crittografia particolare passando il tipo di provider alla proprietà ProviderType oppure ProviderName. È possibile inoltre specificare un provider del servizio di crittografia utilizzando un overload del costruttore.

  • Creare il contenitore di chiavi in cui archiviare le chiavi crittografiche. I contenitori di chiavi consentono di mantenere le chiavi crittografiche nel modo più sicuro possibile e di non renderle accessibili a terze parti non autorizzate. Per ulteriori informazioni sulla creazione dei contenitori di chiavi, vedere Procedura: archiviare chiavi asimmetriche in un contenitore di chiavi.

  • Specificare se creare una chiave di firma asimmetrica o una chiave di scambio asimmetrica utilizzando la proprietà KeyNumber.

Nell'esempio di codice riportato di seguito viene creato un contenitore di chiavi utilizzando la classe CspParameters e viene salvata la chiave all'interno del contenitore.


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));
	}
}


Nell'esempio di codice riportato di seguito viene utilizzata la classe CspParameters per selezionare il provider del servizio di crittografia per smart card, mediante la quale vengono poi firmati e verificati i dati.


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);

        }
    }
}


.NET Framework

Supportato in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Mostra: