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.
Ruft einen Wert ab, der angibt, ob aktualisierte Verschlüsselungsmethoden für den Ansichtszustand verwendet werden, die nach .NET Framework 2.0 Service Pack 1 eingeführt wurden, oder legt diesen Wert fest.
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 dem .NET Framework 2.0 SP1-Release eingeführt wurden, verwendet werden.
- Attribute
Hinweise
Die aktualisierten Verschlüsselungsmethoden in späteren Versionen der .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 zu erhalten.
Alle Server in einer Webfarm sollten die CompatibilityMode Eigenschaft auf denselben Wert festgelegt haben. Wenn der Server, der ein Formularauthentifizierungsticket liest, eine andere CompatibilityMode Einstellung hat als der Server, der das Ticket erstellt hat, 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 über eine Version des .NET Framework vor 2.0 SP2 verfügt. Dies ist der Standardwert, es sei denn, die Anwendung Web.config Datei hat dastargetFramework
Attribut deshttpRuntime
Elements, das auf "4.5" festgelegt ist.Framework20SP2
. Dieser Wert gibt an, dass ASP.NET aktualisierte Verschlüsselungsmethoden verwendet, die im .NET Framework 2.0 SP2 eingeführt wurden. Verwenden Sie diesen Wert für alle Server in einer Webfarm, wenn alle Server über die .NET Framework 2.0 SP2 oder höher verfügen, aber mindestens eins nicht über die .NET Framework 4.5 verfügt.Framework45
. Kryptografische Verbesserungen für ASP.NET 4.5 sind wirksam. Dies ist der Standardwert, wenn die Anwendung Web.config Datei dastargetFramework
Attribut deshttpRuntime
Elements auf "4.5" festgelegt hat.
Wenn diese Eigenschaft auf Framework45
"Festgelegt" festgelegt ist, sind die folgenden Einschränkungen wirksam:
Wenn die DataProtectorType-Eigenschaft über einen Wert verfügt, muss die ApplicationName-Eigenschaft auch einen Wert haben. Die DataProtector Klasse stellt fest, dass ein nicht leerer Anwendungsname bereitgestellt wird.
Das Validation Attribut muss ein tatsächlicher Validierungsalgorithmus (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 signierten Nur-Nutzlasten. Formularauthentifizierungstickets werden immer verschlüsselt und signiert, unabhängig davon, wie das
protection
Attribut desforms
Elements in der Web.config-Datei festgelegt ist. Der Ansichtszustand wird immer verschlüsselt und signiert, wenn entwederEnableViewStateMac
oderRequireViewStateEncryption
für eine bestimmte Seite festgelegt ist.
Aufgrund des in Microsoft Security Bulletin MS10-070 beschriebenen Sicherheitsupdates 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.