MachineKeySection.CompatibilityMode Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu, která určuje, zda upgradované šifrovací metody pro zobrazení stavu, které byly zavedeny po rozhraní .NET Framework verze 2.0 Service Pack 1 verze jsou použity.
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
Hodnota vlastnosti
Hodnota, která označuje, zda se používají metody šifrování, které byly zavedeny po vydání rozhraní .NET Framework 2.0 SP1.
- Atributy
Poznámky
Upgradované metody šifrování v novějších verzích rozhraní .NET Framework snižují riziko, že útočník může úspěšně provést zpětnou analýzu DecryptionKey
hodnoty. Pro zajištění zpětné kompatibility jsou k dispozici starší metody šifrování.
Všechny servery ve webové farmě by měly mít CompatibilityMode vlastnost nastavenou na stejnou hodnotu. Pokud má server, který čte lístek ověřování pomocí formulářů, jiné CompatibilityMode nastavení než server, který lístek vytvořil, lístek se nerozpozná.
Pro vlastnost lze zadat CompatibilityMode následující hodnoty:
Framework20SP1
. Tato hodnota určuje, že ASP.NET používá metody šifrování, které byly k dispozici ve verzích ASP.NET starších než 2.0 SP2. Tuto hodnotu použijte pro všechny servery ve webové farmě, pokud některý server má verzi rozhraní .NET Framework starší než 2.0 SP2. Toto je výchozí hodnota, pokud soubor aplikace Web.config nemátargetFramework
atribut elementuhttpRuntime
nastavený na "4.5".Framework20SP2
. Tato hodnota určuje, že ASP.NET používá upgradované metody šifrování, které byly zavedeny v rozhraní .NET Framework 2.0 SP2. Tuto hodnotu použijte pro všechny servery ve webové farmě, pokud všechny servery mají rozhraní .NET Framework 2.0 SP2 nebo novější, ale alespoň jeden nemá rozhraní .NET Framework 4.5.Framework45
. Platí kryptografická vylepšení pro ASP.NET 4.5. Toto je výchozí hodnota, pokud má soubortargetFramework
aplikace Web.config atribut elementuhttpRuntime
nastavený na "4.5".
Pokud je tato vlastnost nastavená na Framework45
, platí následující omezení:
DataProtectorType Pokud má vlastnost hodnotu, ApplicationName musí mít vlastnost také hodnotu. Třída DataProtector vyžaduje, aby byl zadaný neprázdný název aplikace.
Atribut Validation musí být skutečný ověřovací algoritmus (například MD5, SHA1, HMACSHA256, HMACSHA384 HMACSHA512) nebo vlastní algoritmus, který podtřídy typu podtřídy KeyedHashAlgorithm . Hodnoty AES a 3DES jsou zakázány.
Architektura nevytváří datové části jen s podpisem. Lístky ověřování formulářů budou vždy zašifrované i podepsané bez ohledu na to, jak
protection
je atribut elementuforms
nastavený v souboru Web.config. Stav zobrazení bude vždy zašifrovaný a podepsaný, pokud je pro danou stránku nastaveno neboEnableViewStateMac
RequireViewStateEncryption
.
Výsledkem aktualizace zabezpečení popsané v bulletinu zabezpečení společnosti Microsoft MS10-070 je výchozí chování šifrování stejné pro Framework20SP1
nastavení a Framework20SP2
. Změna výchozího chování se nedoporučuje, ale pokud to chcete udělat, přečtěte si téma Konfigurace starší verze režimu šifrování v ASP.NET.