MachineKeySection.CompatibilityMode Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menentukan apakah metode enkripsi yang ditingkatkan untuk status tampilan yang diperkenalkan setelah rilis .NET Framework versi 2.0 Paket Layanan 1 digunakan.
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
Nilai Properti
Nilai yang menunjukkan apakah metode enkripsi yang diperkenalkan setelah rilis .NET Framework 2.0 SP1 digunakan.
- Atribut
Keterangan
Metode enkripsi yang ditingkatkan di versi .NET Framework yang lebih baru mengurangi risiko bahwa penyerang dapat berhasil merekayasa DecryptionKey
balik nilai. Metode enkripsi yang lebih lama tersedia untuk mempertahankan kompatibilitas mundur.
Semua server di farm Web harus memiliki properti yang CompatibilityMode diatur ke nilai yang sama. Jika server yang membaca tiket autentikasi formulir memiliki pengaturan yang berbeda CompatibilityMode dari server yang membuat tiket, tiket tidak akan dikenali.
Nilai berikut dapat ditentukan untuk CompatibilityMode properti :
Framework20SP1
. Nilai ini menentukan bahwa ASP.NET menggunakan metode enkripsi yang tersedia dalam versi ASP.NET yang lebih lama dari 2.0 SP2. Gunakan nilai ini untuk semua server di farm web jika ada server yang memiliki versi .NET Framework yang lebih lama dari 2.0 SP2. Ini adalah nilai default kecuali file Web.config aplikasi memilikitargetFramework
atribut elemen yanghttpRuntime
diatur ke "4,5".Framework20SP2
. Nilai ini menentukan bahwa ASP.NET menggunakan metode enkripsi yang ditingkatkan yang diperkenalkan dalam .NET Framework 2.0 SP2. Gunakan nilai ini untuk semua server di farm web jika semua server memiliki .NET Framework 2.0 SP2 atau yang lebih baru tetapi setidaknya satu tidak memiliki .NET Framework 4.5.Framework45
. Peningkatan kriptografi untuk ASP.NET 4.5 berlaku. Ini adalah nilai default jika file Web.config aplikasi memilikitargetFramework
atribut elemen yanghttpRuntime
diatur ke "4,5".
Ketika properti ini diatur ke Framework45
, pembatasan berikut berlaku:
DataProtectorType Jika properti memiliki nilai, ApplicationName properti juga harus memiliki nilai. Kelas DataProtector mengamanatkan bahwa nama aplikasi yang tidak kosong disediakan.
Atribut Validation harus merupakan algoritma validasi aktual (misalnya, MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) atau algoritma kustom yang mensubkelas jenis.KeyedHashAlgorithm Nilai AES dan 3DES dilarang.
Kerangka kerja tidak akan menghasilkan payload khusus yang ditandatangani. Tiket autentikasi formulir akan selalu dienkripsi dan ditandatangani, terlepas dari
forms
bagaimanaprotection
atribut elemen diatur dalam file Web.config. Status tampilan akan selalu dienkripsi dan ditandatangani jika atauEnableViewStateMac
RequireViewStateEncryption
diatur untuk halaman tertentu.
Sebagai hasil dari pembaruan keamanan yang dijelaskan dalam buletin keamanan Microsoft MS10-070, perilaku enkripsi default sama untuk Framework20SP1
pengaturan dan Framework20SP2
. Mengubah perilaku default tidak disarankan, tetapi jika Anda ingin melakukannya, lihat Cara mengonfigurasi mode enkripsi warisan di ASP.NET.