MachineKeySection.CompatibilityMode プロパティ

定義

.NET Framework Version 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

プロパティ値

.NET Framework 2.0 SP1 より後のリリースで導入された暗号化方式を使用するかどうかを指定する値。

属性

注釈

.NET Frameworkの新しいバージョンでアップグレードされた暗号化方法により、攻撃者が値のリバース エンジニアリングに成功するリスクがDecryptionKey軽減されます。 旧バージョンの暗号化方法は、下位互換性を維持するために使用できます。

Web ファーム内のすべてのサーバーで、 プロパティが CompatibilityMode 同じ値に設定されている必要があります。 フォーム認証チケットを読み取るサーバーの設定が、チケットを作成したサーバーとは異なる CompatibilityMode 場合、チケットは認識されません。

プロパティには、次の値を CompatibilityMode 指定できます。

  • Framework20SP1. この値は、ASP.NET が 2.0 SP2 より前のバージョンの ASP.NET で使用できる暗号化方法を使用することを指定します。 2.0 SP2 より前のバージョンの.NET Frameworkがあるサーバーがある場合は、Web ファーム内のすべてのサーバーに対してこの値を使用します。 これは、アプリケーション Web.config ファイルに 要素の httpRuntime 属性が targetFramework "4.5" に設定されていない限り、既定値です。

  • Framework20SP2. この値は、ASP.NET が、.NET Framework 2.0 SP2 で導入されたアップグレードされた暗号化方法を使用することを指定します。 すべてのサーバーに.NET Framework 2.0 SP2 以降があるが、少なくとも 1 つのサーバーに.NET Framework 4.5 がない場合は、Web ファーム内のすべてのサーバーに対してこの値を使用します。

  • Framework45. ASP.NET 4.5 の暗号化の機能強化が有効です。 これは、アプリケーション Web.config ファイルの要素のhttpRuntime属性が targetFramework "4.5" に設定されている場合の既定値です。

このプロパティを に Framework45設定すると、次の制限が有効になります。

  • DataProtectorType プロパティが値を持っている場合は、ApplicationName プロパティも値を持つ必要があります。 クラスでは DataProtector 、空でないアプリケーション名を指定する必要があります。

  • 属性は Validation 、実際の検証アルゴリズム (MD5、SHA1、HMACSHA256、HMACSHA384、HMACSHA512 など) または型をサブクラス化 KeyedHashAlgorithm するカスタム アルゴリズムである必要があります。 値 AES と 3DES は禁止されています。

  • フレームワークでは、署名付き専用のペイロードは生成されません。 フォーム認証チケットは、Web.config ファイルで要素の属性がどのように protection 設定されているかに関係なく、常に暗号化と署名の forms 両方になります。 表示状態は、特定のページに対して または RequireViewStateEncryptionEnableViewStateMac設定されている場合、常に暗号化と署名の両方になります。

セキュリティ情報 MS10-070 Microsoft説明されているセキュリティ更新プログラムの結果、既定の暗号化動作は と の設定でFramework20SP2同じですFramework20SP1。 既定の動作を変更することはお勧めしませんが、これを行う場合は、「 ASP.NET でレガシ暗号化モードを構成する方法」を参照してください。

適用対象