MachineKeySection.CompatibilityMode Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
.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ındatargetFramework
öğenin özniteliğihttpRuntime
"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ındatargetFramework
öğenin özniteliğihttpRuntime
"4.5" olarak ayarlanmışsa bu varsayılan değerdir.
Bu özellik olarak Framework45
ayarlandığı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ılprotection
ayarlandıklarından bağımsız olarak Forms kimlik doğrulama biletleri her zaman şifrelenir ve imzalanır. Belirli bir sayfa için veyaRequireViewStateEncryption
ayarlandıysaEnableViewStateMac
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.