MachineKeySection.CompatibilityMode Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее, используются ли обновленные методы шифрования для состояния представления, введенного после выпуска пакета обновления 1 для .NET Framework версии 2.0.
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). Это значение по умолчанию, если файл приложения Web.config не имеетtargetFrameworkатрибут элемента, равный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.