MachineKeySection.CompatibilityMode Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значение, указывающее, используются ли обновленные методы шифрования для просмотра состояния, введенные после выпуска платформы .NET Framework версии 2.0 с пакетом обновления 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 с пакетом обновления 1 (SP1).
- Атрибуты
Комментарии
Обновленные методы шифрования в более поздних версиях .NET Framework снижают риск успешного реконструирования значения злоумышленником DecryptionKey
. Для обеспечения обратной совместимости доступны старые методы шифрования.
Для всех серверов в веб-ферме CompatibilityMode свойство должно иметь одинаковое значение. Если сервер, который считывает запрос на проверку подлинности с помощью форм, имеет значение, отличное CompatibilityMode от параметра сервера, создавшего билет, билет не будет распознан.
Для свойства можно указать CompatibilityMode следующие значения:
Framework20SP1
. Это значение указывает, что ASP.NET использует методы шифрования, доступные в версиях ASP.NET, предшествующих 2.0 с пакетом обновления 2 (SP2). Используйте это значение для всех серверов в веб-ферме, если какой-либо сервер имеет версию .NET Framework, более раннюю, чем 2.0 с пакетом обновления 2 (SP2). Это значение используется по умолчанию, если в файлеtargetFramework
Web.config приложения атрибутhttpRuntime
элемента не задан как "4.5".Framework20SP2
. Это значение указывает, что ASP.NET использует обновленные методы шифрования, представленные в .NET Framework 2.0 с пакетом обновления 2 (SP2). Используйте это значение для всех серверов в веб-ферме, если на всех серверах установлена платформа .NET Framework 2.0 с пакетом обновления 2 (SP2) или более поздней версии, но хотя бы на одном из них нет .NET Framework 4.5.Framework45
. Действуют усовершенствования шифрования для ASP.NET 4.5. Это значение используется по умолчанию, если для Web.config файлаtargetFramework
приложения атрибутhttpRuntime
элемента имеет значение "4.5".
Если для этого свойства задано значение Framework45
, действуют следующие ограничения:
Если свойство DataProtectorType имеет значение, свойство ApplicationName также должно иметь значение. Класс DataProtector требует предоставления непустого имени приложения.
Атрибут Validation должен быть фактическим алгоритмом проверки (например, MD5, SHA1, HMACSHA256, HMACSHA384 HMACSHA512) или пользовательским алгоритмом, который подклассирует KeyedHashAlgorithm тип. Значения AES и 3DES запрещены.
Платформа не будет создавать полезные данные только для подписи. Билеты на проверку подлинности с помощью форм всегда будут зашифрованы и подписаны независимо от того, как
protection
атрибутforms
элемента задан в файле Web.config. Состояние представления всегда будет зашифровано и подписано, если для данной страницы заданоEnableViewStateMac
значение илиRequireViewStateEncryption
.
В результате обновления для системы безопасности, описанного в бюллетене майкрософт по безопасности MS10-070, поведение шифрования по умолчанию одинаково для Framework20SP1
параметров и Framework20SP2
. Изменять поведение по умолчанию не рекомендуется, но если вы хотите это сделать, см. статью Настройка устаревшего режима шифрования в ASP.NET.