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 se používají upgradované metody šifrování pro stav zobrazení, které byly zavedeny po vydání .NET Framework verze 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
Hodnota vlastnosti
Hodnota, která označuje, zda jsou použity 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 hodnotu úspěšně zpětně analyzovat DecryptionKey . Starší metody šifrování jsou k dispozici, aby se zachovala zpětná kompatibilita.
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 má některý server verzi rozhraní .NET Framework starší než 2.0 SP2. Toto je výchozí hodnota, pokud aplikace Web.config soubor nemátargetFrameworkatributhttpRuntimeprvku 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. Kryptografické vylepšení pro ASP.NET 4.5 se projeví. Toto je výchozí hodnota, pokud aplikace Web.config soubor mátargetFrameworkatributhttpRuntimeprvku nastaven na "4.5".
Pokud je tato vlastnost nastavena na Framework45, platí následující omezení:
Pokud vlastnost DataProtectorType má hodnotu, ApplicationName vlastnost musí mít také hodnotu. Třída DataProtector vyžaduje zadání neprázdného názvu aplikace.
Atribut Validation musí být skutečný ověřovací algoritmus (například MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) nebo vlastní algoritmus, který typ podtřídí KeyedHashAlgorithm . Hodnoty AES a 3DES jsou zakázané.
Architektura nevygeneruje datové části, které jsou jen podepsané. Lístky ověřování formulářů budou vždy šifrované i podepsané bez ohledu na to, jak
protectionje atributformsprvku nastaven v souboru Web.config. Stav zobrazení bude vždy zašifrovaný i podepsaný, pokudEnableViewStateMacje pro danou stránku nastavená neboRequireViewStateEncryptionnastavená.
V důsledku 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 nastavení. Změna výchozího chování se nedoporučuje, ale pokud to chcete udělat, přečtěte si článek Postup konfigurace staršího režimu šifrování v ASP.NET.