MachineKeySection.CompatibilityMode Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob aktualisierte Verschlüsselungsmethoden für den Ansichtszustand, die nach der .NET Framework Version 2.0 Service Pack 1-Version eingeführt wurden, verwendet wurden.
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
Eigenschaftswert
Ein Wert, der angibt, ob Verschlüsselungsmethoden, die nach der .NET Framework 2.0 SP1-Version eingeführt wurden, verwendet wurden.
- Attribute
Hinweise
Die aktualisierten Verschlüsselungsmethoden in späteren Versionen von .NET Framework verringern das Risiko, dass ein Angreifer den DecryptionKey Wert erfolgreich rückgängig machen kann. Die älteren Verschlüsselungsmethoden sind verfügbar, um die Abwärtskompatibilität aufrechtzuerhalten.
Für alle Server in einer Webfarm sollte die CompatibilityMode Eigenschaft auf denselben Wert festgelegt sein. Wenn der Server, der ein Formularauthentifizierungsticket liest, eine andere CompatibilityMode Einstellung als der Server hat, auf dem das Ticket erstellt wurde, wird das Ticket nicht erkannt.
Die folgenden Werte können für die CompatibilityMode Eigenschaft angegeben werden:
Framework20SP1. Dieser Wert gibt an, dass ASP.NET Verschlüsselungsmethoden verwendet, die in Versionen von ASP.NET früher als 2.0 SP2 verfügbar waren. Verwenden Sie diesen Wert für alle Server in einer Webfarm, wenn ein Server eine Version von .NET Framework aufweist, die älter als 2.0 SP2 ist. Dies ist der Standardwert, es sei denn, die Anwendung Web.config Datei hat dastargetFrameworkAttribut deshttpRuntimeElements auf "4.5".Framework20SP2. Dieser Wert gibt an, dass ASP.NET aktualisierte Verschlüsselungsmethoden verwendet, die in .NET Framework 2.0 SP2 eingeführt wurden. Verwenden Sie diesen Wert für alle Server in einer Webfarm, wenn alle Server über .NET Framework 2.0 SP2 oder höher verfügen, aber mindestens ein Server nicht über .NET Framework 4.5 verfügt.Framework45. Kryptografische Verbesserungen für ASP.NET 4,5 sind in Kraft. Dies ist der Standardwert, wenn die Anwendung Web.config Datei dastargetFrameworkAttribut deshttpRuntimeElements auf "4.5" festgelegt hat.
Wenn diese Eigenschaft auf Framework45"Festgelegt" festgelegt ist, sind die folgenden Einschränkungen wirksam:
Wenn die DataProtectorType Eigenschaft einen Wert aufweist, muss die ApplicationName Eigenschaft auch einen Wert aufweisen. Die DataProtector Klasse schreibt vor, dass ein nicht leerer Anwendungsname bereitgestellt wird.
Das Validation Attribut muss ein tatsächlicher Überprüfungsalgorithmus (z. B. MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) oder ein benutzerdefinierter Algorithmus sein, der den KeyedHashAlgorithm Typ unterklassiert. Die Werte AES und 3DES sind verboten.
Das Framework erzeugt keine nur signierten Nutzlasten. Formularauthentifizierungstickets werden immer verschlüsselt und signiert, unabhängig davon, wie das
protectionAttribut desformsElements in der Web.config Datei festgelegt wird. Der Ansichtszustand wird immer verschlüsselt und signiert, wenn entwederEnableViewStateMacoderRequireViewStateEncryptionfür eine bestimmte Seite festgelegt ist.
Als Ergebnis des Sicherheitsupdates, das im Microsoft-Sicherheitsbulletin MS10-070 beschrieben wird, ist das Standardverschlüsselungsverhalten für die und Framework20SP2 die Framework20SP1 Einstellungen identisch. Das Ändern des Standardverhaltens wird nicht empfohlen, aber wenn Sie dies tun möchten, lesen Sie, wie Sie den Legacyverschlüsselungsmodus in ASP.NET konfigurieren.