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). Это значение по умолчанию, если в файле приложения 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.