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 usati i metodi di crittografia aggiornati per lo stato di visualizzazione introdotti dopo la release di .NET Framework 2.0 Service Pack 1.
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 release 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 invertire 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 form ha un'impostazione diversa CompatibilityMode rispetto al server che ha creato il ticket, il ticket non verrà riconosciuto.
Per la CompatibilityMode proprietà è possibile specificare i 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 qualsiasi server ha una versione di .NET Framework precedente a 2.0 SP2. Questo è il valore predefinito a meno che il file dell'applicazione Web.config abbia l'attributotargetFramework
dell'elementohttpRuntime
impostato 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 ha .NET Framework 4.5.Framework45
. I miglioramenti crittografici per ASP.NET 4.5 sono effettivi. Si tratta del valore predefinito se l'applicazione Web.config file ha l'attributotargetFramework
dell'elementohttpRuntime
impostato su "4.5".
Quando questa proprietà è impostata su Framework45
, le restrizioni seguenti sono effettive:
Se la proprietà DataProtectorType presenta un valore, anche la proprietà ApplicationName deve includerne uno. La DataProtector classe impone che venga fornito un nome 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 firmati. I ticket di autenticazione form saranno sempre crittografati e firmati, indipendentemente dal modo in cui l'attributo dell'elemento
protection
forms
è impostato nel file di Web.config. Lo stato di visualizzazione sarà sempre crittografato e firmato seEnableViewStateMac
oRequireViewStateEncryption
è impostato per una determinata pagina.
Come risultato dell'aggiornamento della sicurezza descritto in Microsoft security bulletin 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 eseguire questa operazione, vedere Come configurare la modalità di crittografia legacy in ASP.NET.