MachineKeySection.CompatibilityMode Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om uppgraderade krypteringsmetoder för visningstillstånd som introducerades efter .NET Framework version 2.0 Service Pack 1 används.
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
Egenskapsvärde
Ett värde som anger om krypteringsmetoder som introducerades efter .NET Framework 2.0 SP1-versionen används.
- Attribut
Kommentarer
De uppgraderade krypteringsmetoderna i senare versioner av .NET Framework minskar risken för att en angripare kan omvänt konstruera värdet DecryptionKey. De äldre krypteringsmetoderna är tillgängliga för att upprätthålla bakåtkompatibilitet.
Alla servrar i en webbgrupp bör ha egenskapen CompatibilityMode inställd på samma värde. Om servern som läser ett formulärautentiseringsärende har en annan CompatibilityMode inställning än den server som skapade biljetten identifieras inte biljetten.
Följande värden kan anges för egenskapen CompatibilityMode :
Framework20SP1. Det här värdet anger att ASP.NET använder krypteringsmetoder som var tillgängliga i versioner av ASP.NET tidigare än 2.0 SP2. Använd det här värdet för alla servrar i en webbgrupp om någon server har en version av .NET Framework tidigare än 2.0 SP2. Detta är standardvärdet om inte programmet Web.config filen hartargetFrameworkattributet för elementethttpRuntimeinställt på "4.5".Framework20SP2. Det här värdet anger att ASP.NET använder uppgraderade krypteringsmetoder som introducerades i .NET Framework 2.0 SP2. Använd det här värdet för alla servrar i en webbgrupp om alla servrar har .NET Framework 2.0 SP2 eller senare, men minst en inte har .NET Framework 4.5.Framework45. Kryptografiska förbättringar för ASP.NET 4.5 gäller. Det här är standardvärdet om programmet Web.config filen hartargetFrameworkattributet för elementethttpRuntimeinställt på "4.5".
När den här egenskapen är inställd Framework45på gäller följande begränsningar:
Om egenskapen DataProtectorType har ett värde ApplicationName måste egenskapen också ha ett värde. Klassen DataProtector kräver att ett programnamn som inte är tomt anges.
Attributet Validation måste vara en faktisk valideringsalgoritm (till exempel MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) eller en anpassad algoritm som underklassar KeyedHashAlgorithm typen. Värdena AES och 3DES är förbjudna.
Ramverket skapar inte signerade nyttolaster. Formulärautentiseringsbiljetter kommer alltid att vara både krypterade och signerade, oavsett hur elementets
protectionformsattribut anges i Web.config-filen. Visningstillståndet kommer alltid att vara både krypterat och signerat om någon avEnableViewStateMacdem ellerRequireViewStateEncryptionhar angetts för en viss sida.
Som ett resultat av säkerhetsuppdateringen som beskrivs i Microsoft säkerhetsbulletinen MS10-070 är standardkrypteringsbeteendet detsamma för inställningarna Framework20SP1 och Framework20SP2. Att ändra standardbeteendet rekommenderas inte, men om du vill göra det kan du läsa Så här konfigurerar du äldre krypteringsläge i ASP.NET.