Elemento <machineKey>

Consente di configurare le chiavi da utilizzare per la crittografia e la decrittografia dei dati dei cookie di autenticazione dei form e dei dati dello stato di visualizzazione e per la verifica dell'identificazione dello stato delle sessioni out-of-process. Questa sezione può essere dichiarata a livello di applicazione, sito e computer ma non a livello di sottodirectory.

<configuration>
   <system.web>
      <machineKey>

<machineKeyvalidationKey="AutoGenerate|value[,IsolateApps]"            decryptionKey="AutoGenerate|value[,IsolateApps]"            validation="SHA1|MD5|3DES"/>

Attributi obbligatori

Attributo Opzione Descrizione
validationKey     Specifica la chiave utilizzata per la convalida dei dati crittografati. validationKey viene utilizzato quando enableViewStateMAC è true per la creazione di codice MAC per garantire che lo stato della visualizzazione non sia stato falsificato. validationKey viene inoltre utilizzato per generare ID di sessione out-of-process specifici dell'applicazione per garantire che le variabili di stato della sessione vengano isolate tra una sessione e l'altra.
    AutoGenerate Specifica che in ASP.NET viene generata una chiave casuale, che viene quindi archiviata in Autorità di protezione locale (LSA, Local Security Authority). Il valore predefinito è AutoGenerate. Se si aggiunge il modificatore IsolateApps al valore validationKey, in ASP.NET viene generata una chiave crittografata univoca per ogni applicazione utilizzando l'ID dell'applicazione.
    value Specifica una chiave di convalida assegnata manualmente. Questo valore deve essere impostato manualmente per garantire una configurazione coerente in tutta la rete di server Web (Web farm). La lunghezza della chiave deve essere compresa tra i 40 caratteri (20 byte) e i 128 caratteri (64 byte). Se si utilizzano chiavi più brevi della lunghezza massima, è necessario crearle in modo veramente casuale, ad esempio utilizzando RNGCryptoServiceProvider. La lunghezza consigliata è di 128 caratteri esadecimali. Se si aggiunge il modificatore IsolateApps al valore validationKey, in ASP.NET viene generata una chiave crittografata univoca per ogni applicazione utilizzando l'ID dell'applicazione.
decryptionKey     Specifica la chiave utilizzata per crittografare i dati. decryptionKey viene utilizzata per la crittografia e la decrittografia dell'autenticazione dei form e per la crittografia dello stato di visualizzazione quando validation è 3DES.
    AutoGenerate Specifica che in ASP.NET viene generata una chiave casuale, quindi memorizzata nell'Autorità di protezione locale. Il valore predefinito è AutoGenerate. Se si aggiunge il modificatore IsolateApps al valore decryptionKey, in ASP.NET viene generata una chiave crittografata univoca per ogni applicazione utilizzando l'ID dell'applicazione.
    value Specifica una chiave assegnata manualmente. Questo valore deve essere impostato manualmente su una stringa di caratteri esadecimali per garantire una configurazione coerente in una Web farm. La chiave deve essere lunga 16 caratteri quando si utilizza la crittografia DES e 48 caratteri quando si utilizza la crittografia Triple DES. Se si utilizzano chiavi più brevi della lunghezza massima, è necessario crearle in modo veramente casuale, ad esempio utilizzando RNGCryptoServiceProvider. Con ASP.NET è possibile utilizzare Triple DES solo su computer che dispongono della crittografia a 128 bit. Se si aggiunge il modificatore IsolateApps al valore decryptionKey, in ASP.NET viene generata una chiave crittografata univoca per ogni applicazione utilizzando l'ID dell'applicazione.
validation     Specifica il tipo di crittografia utilizzato per la convalida dei dati.
    SHA1 Specifica che in ASP.NET viene utilizzata la crittografia SHA1.
    MD5 Specifica che in ASP.NET viene utilizzata la crittografia MD5.
    3DES Specifica che in ASP.NET viene utilizzata la crittografia Triple-DES (3DES). Quando si specifica 3DES, l'autenticazione dei form predefinita è SHA1. Quando l'attributo validation è impostato su 3DES, la tecnica di convalida dello stato di visualizzazione utilizza la crittografia 3DES.

Esempio

Nell'esempio che segue validationKey e decryptionKey vengono impostati su AutoGenerate. L'opzione isolateApps viene specificata per generare chiavi univoche per ogni applicazione sul server.

<machineKey validationKey="AutoGenerate,IsolateApps" 
            decryptionKey="AutoGenerate,IsolateApps" 
            validation="SHA1"/>

Requisiti

Contenuto in: <system.web>

Piattaforma Web: IIS 5.0, IIS 5.1, IIS 6.0

File di configurazione: Machine.config, Web.config

Gestore della sezione di configurazione: System.Web.Configuration.MachineKeyConfigHandler

Vedere anche

Configurazione ASP.NET | Schema delle impostazioni ASP.NET