Riferimenti generali di .NET Framework
Elemento machineKey (schema delle impostazioni ASP.NET)

Configura le chiavi da utilizzare per la crittografia e la decrittografia dei dati dei cookie di autenticazione basata su form e dei dati dello stato di visualizzazione e per la verifica dell'identificazione dello stato delle sessioni out-of-process.

Elemento configuration (schema delle impostazioni generali)
  Elemento system.web (schema delle impostazioni ASP.NET)
    Elemento machineKey (schema delle impostazioni ASP.NET)
<machineKey 
   validationKey="AutoGenerate|value[,IsolateApps]"
   decryptionKey="AutoGenerate|value[,IsolateApps]"
   validation="[SHA1|MD5|3DES]"
   decryption="[Auto|]"
/>
Attributi ed elementi

Le seguenti sezioni illustrano attributi, elementi figlio e padre.

Attributi

Attributo Descrizione

decryption

Attributo String facoltativo.

Specifica il tipo di algoritmo di hash utilizzato per decrittografare i dati.

Questo attributo può essere uno dei valori riportati di seguito.

Valore Descrizione

Auto

Specifica che l'algoritmo di decrittografia da utilizzare viene determinato da ASP.NET in base alle impostazioni predefinite di configurazione. Rappresenta il valore predefinito.

AES

Specifica che in ASP.NET viene utilizzato l'algoritmo AES (Rijndael) per decrittografare i dati. AES è l'algoritmo predefinito per questo tipo di operazione.

3DES

Specifica che in ASP.NET viene utilizzato l'algoritmo TripleDES per decrittografare i dati. L'algoritmo TripleDES (3DES) utilizza tre iterazioni successive dell'algoritmo DES.

Questo attributo è nuovo in .NET Framework versione 2.0.

Il valore predefinito è "Auto".

decryptionKey

Attributo String obbligatorio.

Specifica la chiave utilizzata per crittografare e decrittografare i dati o il processo dal quale viene generata la chiave. L'attributo viene utilizzato per la crittografia e la decrittografia dell'autenticazione basata su form e per la crittografia dello stato di visualizzazione quando validation è impostato sul campo TripleDES.

Se si aggiunge il modificatore IsolateApps all'attributo, in ASP.NET viene generata una chiave crittografata univoca per ogni applicazione utilizzando l'ID di ogni applicazione. IsolateApps fa anche parte del valore predefinito.

Se è necessario supportare la configurazione in una rete di server Web (Web farm), impostare manualmente l'attributo per assicurare la coerenza della configurazione.

Questo attributo può essere uno dei valori riportati di seguito.

Valore Descrizione

AutoGenerate

Specifica che in ASP.NET viene generata una chiave casuale, quindi memorizzata nell'Autorità di protezione locale. Questo valore rappresenta l'impostazione predefinita. 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 (3 DES). Se si utilizzano chiavi più brevi della lunghezza massima, è necessario crearle in modo casuale, ad esempio utilizzando la classe 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.

L'impostazione predefinita è "AutoGenerate,IsolateApps".

validation

Attributo MachineKeyValidation obbligatorio.

Specifica il tipo di crittografia utilizzato per la convalida dei dati.

Questo attributo può essere uno dei valori riportati di seguito.

Valore Descrizione

AES

Specifica che in ASP.NET viene utilizzato l'algoritmo AES (Rijndael) per decrittografare i dati. AES è l'algoritmo predefinito per questo tipo di operazione.

MD5

Specifica che in ASP.NET viene utilizzato l'algoritmo di hash Message Digest 5 (MD5). L'algoritmo MD5 garantisce prestazioni migliori rispetto all'algoritmo SHA1.

SHA1

Specifica che in ASP.NET viene utilizzato l'algoritmo di hash SHA1. Utilizzare questo algoritmo per una maggiore protezione.

Questo valore rappresenta l'impostazione predefinita.

TripleDES

Specifica che in ASP.NET viene utilizzato l'algoritmo TripleDES per decrittografare i dati. L'algoritmo TripleDES utilizza tre iterazioni successive dell'algoritmo DES.

In .NET Framework versione 1.0 e 1.1 il valore in questione è "3DES".

L'impostazione predefinita è "SHA1".

validationKey

Attributo String obbligatorio.

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 alterato. 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.

Se si aggiunge il modificatore IsolateApps al valore di ValidationKey, ASP.NET genera una chiave crittografata univoca per ogni applicazione utilizzando l'ID di ogni applicazione. IsolateApps fa anche parte del valore predefinito.

Se è necessario supportare la configurazione in una rete di server Web (Web farm), impostare manualmente la proprietà ValidationKey per assicurare la coerenza della configurazione.

L'attributo validationKey può essere uno dei valori riportati di seguito.

Valore Descrizione

AutoGenerate

Specifica che in ASP.NET viene generata una chiave casuale, quindi memorizzata nell'Autorità di protezione locale. Questa opzione è il valore predefinito. 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 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 casuale, ad esempio utilizzando la classe >CryptographyRNGCryptoServiceProvider. 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 validationKey, in ASP.NET viene generata una chiave crittografata univoca per ogni applicazione utilizzando l'ID dell'applicazione.

L'impostazione predefinita è "AutoGenerate,IsolateApps".

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione

configuration

Specifica l'elemento di primo livello necessario in ciascun file di configurazione utilizzato in Common Language Runtime e nelle applicazioni .NET Framework.

system.web

Specifica l'elemento di primo livello per le impostazioni di configurazione ASP.NET in un file di configurazione e contiene gli elementi che consentono di configurare le applicazioni Web ASP.NET e di controllarne il comportamento.

Note

L'elemento machineKey configura le chiavi da utilizzare per la crittografia e la decrittografia dei dati dei cookie di autenticazione basata su form e dei dati dello stato di visualizzazione e per la verifica dell'identificazione dello stato delle sessioni out-of-process.

Configurazione predefinita

L'elemento machineKey predefinito riportato di seguito non viene configurato in modo esplicito nel file Machine.config o nel file Web.config principale. Si tratta, tuttavia, della configurazione predefinita restituita dall'applicazione.

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

Nel file Machine.config in .NET Framework versione 1.1 viene configurato l'elemento machineKey predefinito riportato di seguito.

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

Nel file Machine.config in .NET Framework versione 1.0 viene configurato l'elemento machineKey predefinito riportato di seguito.

<machineKey 
   validationKey="AutoGenerate" 
   decryptionKey="AutoGenerate" 
   validation="SHA1"
/>
Esempio

Nell'esempio di codice che segue viene illustrato come impostare gli attributi validationKey e decryptionKey su AutoGenerate. Il valore isolateApps viene specificato per generare chiavi univoche per ogni applicazione sul server.

<machineKey 
   validationKey="AutoGenerate,IsolateApps" 
   decryptionKey="AutoGenerate,IsolateApps" 
   validation="SHA1"
/>
Informazioni sull'elemento

Gestore della sezione di configurazione

MachineKeySection

Membro di configurazione

MachineKey

Percorsi configurabili

Machine.config

Web.config a livello di radice

Web.config a livello di applicazione

Requisiti

Microsoft Internet Information Services (IIS) versione 5.0, 5.1 o 6.0

.NET Framework versione 1.0, 1.1 o 2.0

Microsoft Visual Studio 2003 o Visual Studio 2005

Vedere anche

Attività

Procedura dettagliata: crittografia delle informazioni di configurazione utilizzando la configurazione protetta
Procedura: configurare directory specifiche utilizzando impostazioni di percorso
Procedura: bloccare le impostazioni di configurazione di ASP.NET

Riferimenti

Elemento system.web (schema delle impostazioni ASP.NET)
Elemento configuration (schema delle impostazioni generali)
System.Configuration
System.Web.Configuration
MachineKeySection
MachineKey

Concetti

Protezione dei ruoli
Protezione dell'appartenenza
Protezione delle proprietà dei profili
Protezione dello stato sessione
Gerarchia ed ereditarietà dei file di configurazione di ASP.NET
Protezione della configurazione di ASP.NET
Scenari di configurazione ASP.NET

Altre risorse

Impostazioni di configurazione generali (ASP.NET)
Impostazioni di configurazione di ASP.NET
Configurazione di applicazioni ASP.NET
API di configurazione di ASP.NET

Tag :


Page view tracker