MachineKeySection.CompatibilityMode 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定值,這個值指定是否使用在 .NET Framework 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 檔案的targetFramework
屬性httpRuntime
設定為 「4.5」,否則這是預設值。Framework20SP2
. 這個值會指定 ASP.NET 使用 .NET Framework 2.0 SP2 中引進的升級加密方法。 如果所有伺服器都有 .NET Framework 2.0 SP2 或更新版本,但至少有一部伺服器沒有 .NET Framework 4.5,請使用此值給 Web 伺服器陣列中的所有伺服器。Framework45
. ASP.NET 4.5 的密碼編譯增強功能已生效。 如果應用程式 Web.config 檔案的targetFramework
屬性httpRuntime
設定為 「4.5」,則這是預設值。
當此屬性設定為 Framework45
時,下列限制會生效:
如果 DataProtectorType 屬性有值,ApplicationName 屬性也必須有值。 類別 DataProtector 會要求提供非空白的應用程式名稱。
屬性 Validation 必須是實際驗證演算法 (,例如 MD5、SHA1、HMACSHA256、HMACSHA384、HMACSHA512) 或子类别 KeyedHashAlgorithm 化類型的自定義演算法。 AES 和 3DES 的值禁止。
架構不會產生僅限簽署的承載。 窗體驗證票證一律會同時經過加密和簽署,不論元素的
forms
屬性在 Web.config 檔案中設定的方式protection
為何。 如果EnableViewStateMac
為指定的頁面設定 或RequireViewStateEncryption
,則檢視狀態一律會同時加密和簽署。
由於 Microsoft 安全性佈告欄 MS10-070 中所述的安全性更新,和 Framework20SP2
設定的預設加密行為相同Framework20SP1
。 不建議變更預設行為,但如果您想要這麼做,請參閱 如何在 ASP.NET 中設定舊版加密模式。