Bagikan melalui


MachineKeySection.CompatibilityMode Properti

Definisi

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 memiliki targetFramework atribut elemen yang httpRuntime 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 memiliki targetFramework atribut elemen yang httpRuntime 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 bagaimana protection atribut elemen diatur dalam file Web.config. Status tampilan akan selalu dienkripsi dan ditandatangani jika atau EnableViewStateMacRequireViewStateEncryption 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.

Berlaku untuk