MachineKeySection.CompatibilityMode Eigenschaft

Definition

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

MachineKeyCompatibilityMode

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 das targetFramework Attribut des httpRuntime 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 das targetFramework Attribut des httpRuntime 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 des forms Elements in der Web.config-Datei festgelegt ist. Der Ansichtszustand wird immer verschlüsselt und signiert, wenn entweder EnableViewStateMac oder RequireViewStateEncryption 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.

Gilt für