MachineKeySection.CompatibilityMode Özellik

Tanım

.NET Framework sürüm 2.0 Service Pack 1 sürümünden sonra kullanıma sunulan görünüm durumu için yükseltilmiş şifreleme yöntemlerinin kullanılıp kullanılmayacağını belirten bir değer alır veya ayarlar.

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

Özellik Değeri

.NET Framework 2.0 SP1 sürümünden sonra tanıtılan şifreleme yöntemlerinin kullanılıp kullanılmadığını gösteren bir değer.

Öznitelikler

Açıklamalar

.NET Framework'ün sonraki sürümlerinde yükseltilen şifreleme yöntemleri, bir saldırganın değeri başarıyla tersine çevirme DecryptionKey riskini azaltır. Geriye dönük uyumluluğu korumak için eski şifreleme yöntemleri kullanılabilir.

Bir Web grubundaki tüm sunucuların CompatibilityMode özelliği aynı değere ayarlanmış olmalıdır. Form kimlik doğrulama anahtarını okuyan sunucunun, bileti oluşturan sunucudan farklı CompatibilityMode bir ayarı varsa, anahtar tanınmaz.

özelliği için CompatibilityMode aşağıdaki değerler belirtilebilir:

  • Framework20SP1. Bu değer, ASP.NET 2.0 SP2'den önceki ASP.NET sürümlerinde kullanılabilen şifreleme yöntemlerini kullandığını belirtir. Herhangi bir sunucu 2.0 SP2'den önceki bir .NET Framework sürümüne sahipse, web grubundaki tüm sunucular için bu değeri kullanın. Uygulama Web.config dosyasında targetFramework öğenin özniteliği httpRuntime "4.5" olarak ayarlanmadığı sürece bu varsayılan değerdir.

  • Framework20SP2. Bu değer, ASP.NET .NET Framework 2.0 SP2'de tanıtılan yükseltilmiş şifreleme yöntemlerini kullandığını belirtir. Tüm sunucularda .NET Framework 2.0 SP2 veya üzeri varsa ancak en az birinde .NET Framework 4.5 yoksa, web grubundaki tüm sunucular için bu değeri kullanın.

  • Framework45. ASP.NET 4.5 için şifreleme geliştirmeleri etkindir. Uygulama Web.config dosyasında targetFramework öğenin özniteliği httpRuntime "4.5" olarak ayarlanmışsa bu varsayılan değerdir.

Bu özellik olarak Framework45ayarlandığında, aşağıdaki kısıtlamalar geçerli olur:

  • Özelliğin DataProtectorType bir değeri varsa, özelliğin ApplicationName de bir değeri olmalıdır. sınıfı DataProtector , boş olmayan bir uygulama adı sağlanmasını zorunlu eder.

  • Özniteliğin Validation gerçek bir doğrulama algoritması (örneğin, MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) veya türü alt sınıflayan KeyedHashAlgorithm özel bir algoritma olması gerekir. AES ve 3DES değerleri yasaktır.

  • Çerçeve yalnızca imzalı yük oluşturmaz. Öğenin özniteliğinin forms Web.config dosyasında nasıl protection ayarlandıklarından bağımsız olarak Forms kimlik doğrulama biletleri her zaman şifrelenir ve imzalanır. Belirli bir sayfa için veya RequireViewStateEncryption ayarlandıysa EnableViewStateMac görünüm durumu her zaman şifrelenir ve imzalanır.

Microsoft güvenlik bülteni MS10-070'te açıklanan güvenlik güncelleştirmesi sonucunda, ve Framework20SP2 ayarları için Framework20SP1 varsayılan şifreleme davranışı aynıdır. Varsayılan davranışın değiştirilmesi önerilmez, ancak bunu yapmak istiyorsanız bkz. ASP.NET'de eski şifreleme modunu yapılandırma.

Şunlara uygulanır