MachineKeySection.CompatibilityMode Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che specifica se vengono utilizzati i metodi di crittografia aggiornati per lo stato di visualizzazione introdotti dopo la versione 2.0 di Service Pack 1 di .NET Framework.
public:
property System::Web::Configuration::MachineKeyCompatibilityMode CompatibilityMode { System::Web::Configuration::MachineKeyCompatibilityMode get(); void set(System::Web::Configuration::MachineKeyCompatibilityMode value); };
[System.Configuration.ConfigurationProperty("compatibilityMode", DefaultValue=System.Web.Configuration.MachineKeyCompatibilityMode.Framework20SP1)]
public System.Web.Configuration.MachineKeyCompatibilityMode CompatibilityMode { get; set; }
[<System.Configuration.ConfigurationProperty("compatibilityMode", DefaultValue=System.Web.Configuration.MachineKeyCompatibilityMode.Framework20SP1)>]
member this.CompatibilityMode : System.Web.Configuration.MachineKeyCompatibilityMode with get, set
Public Property CompatibilityMode As MachineKeyCompatibilityMode
Valore della proprietà
Valore che indica se vengono usati i metodi di crittografia introdotti dopo la versione di .NET Framework 2.0 SP1.
- Attributi
Commenti
I metodi di crittografia aggiornati nelle versioni successive di .NET Framework riducono il rischio che un utente malintenzionato possa decomporre correttamente il DecryptionKey valore. I metodi di crittografia meno recenti sono disponibili per mantenere la compatibilità con le versioni precedenti.
Tutti i server in una Web farm devono avere la CompatibilityMode proprietà impostata sullo stesso valore. Se il server che legge un ticket di autenticazione basata su form ha un'impostazione diversa CompatibilityMode rispetto al server che ha creato il ticket, il ticket non verrà riconosciuto.
Per la proprietà è possibile specificare i CompatibilityMode valori seguenti:
Framework20SP1. Questo valore specifica che ASP.NET usa metodi di crittografia disponibili nelle versioni di ASP.NET precedenti a 2.0 SP2. Usare questo valore per tutti i server in una Web farm se un server dispone di una versione di .NET Framework precedente alla versione 2.0 SP2. Questo è il valore predefinito a meno che l'applicazione Web.config file abbia l'attributotargetFrameworkdell'elementohttpRuntimeimpostato su "4.5".Framework20SP2. Questo valore specifica che ASP.NET usa metodi di crittografia aggiornati introdotti in .NET Framework 2.0 SP2. Usare questo valore per tutti i server in una Web farm se tutti i server hanno .NET Framework 2.0 SP2 o versione successiva, ma almeno uno non dispone di .NET Framework 4.5.Framework45. I miglioramenti crittografici per ASP.NET 4.5 sono effettivi. Questo è il valore predefinito se l'applicazione Web.config file ha l'attributotargetFrameworkdell'elementohttpRuntimeimpostato su "4.5".
Quando questa proprietà è impostata su Framework45, vengono applicate le restrizioni seguenti:
Se la DataProtectorType proprietà ha un valore, la ApplicationName proprietà deve avere anche un valore. La DataProtector classe impone che venga specificato un nome di applicazione non vuoto.
L'attributo Validation deve essere un algoritmo di convalida effettivo (ad esempio MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) o un algoritmo personalizzato che sottoclassi il KeyedHashAlgorithm tipo. I valori AES e 3DES non sono consentiti.
Il framework non produrrà payload di sola firma. I ticket di autenticazione basata su form saranno sempre crittografati e firmati, indipendentemente dalla modalità di impostazione dell'attributo
protectiondell'elementoformsnel file Web.config. Lo stato di visualizzazione sarà sempre crittografato e firmato seEnableViewStateMacoRequireViewStateEncryptionè impostato per una determinata pagina.
Come risultato dell'aggiornamento della sicurezza descritto nel bollettino microsoft sulla sicurezza MS10-070, il comportamento di crittografia predefinito è lo stesso per le Framework20SP1 impostazioni e Framework20SP2 . La modifica del comportamento predefinito non è consigliata, ma se si vuole farlo, vedere Come configurare la modalità di crittografia legacy in ASP.NET.