Compartir a través de


MachineKeySection.CompatibilityMode Propiedad

Definición

Obtiene o establece un valor que especifica si se utilizan los métodos de cifrado actualizados para el estado de vista introducidos después de utilizar .NET Framework versión 2.0 Service Pack 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

Valor de propiedad

Valor que indica si se utilizan los métodos de cifrado introducidos después de utilizar .NET Framework versión 2.0 SP1.

Atributos

Comentarios

Los métodos de cifrado actualizados en versiones posteriores de .NET Framework reducen el riesgo de que un atacante pueda diseñar correctamente el DecryptionKey valor. Los métodos de cifrado más antiguos están disponibles para mantener la compatibilidad con versiones anteriores.

Todos los servidores de una granja de servidores web deben tener la CompatibilityMode propiedad establecida en el mismo valor. Si el servidor que lee un vale de autenticación de formularios tiene una configuración diferente CompatibilityMode del servidor que creó el vale, no se reconocerá el vale.

Se pueden especificar los valores siguientes para la CompatibilityMode propiedad :

  • Framework20SP1. Este valor especifica que ASP.NET usa métodos de cifrado que estaban disponibles en versiones de ASP.NET anteriores a la versión 2.0 SP2. Use este valor para todos los servidores de una granja de servidores web si algún servidor tiene una versión de .NET Framework anterior a la 2.0 SP2. Este es el valor predeterminado a menos que la aplicación Web.config archivo tenga el targetFramework atributo del httpRuntime elemento establecido en "4.5".

  • Framework20SP2. Este valor especifica que ASP.NET usa métodos de cifrado actualizados que se introdujeron en .NET Framework 2.0 SP2. Use este valor para todos los servidores de una granja de servidores web si todos los servidores tienen .NET Framework 2.0 SP2 o posterior, pero al menos uno no tiene .NET Framework 4.5.

  • Framework45. Las mejoras criptográficas para ASP.NET 4.5 están en vigor. Este es el valor predeterminado si la aplicación Web.config archivo tiene el targetFramework atributo del httpRuntime elemento establecido en "4.5".

Cuando esta propiedad se establece Framework45en , se aplican las restricciones siguientes:

  • Si la propiedad DataProtectorType tiene un valor, la propiedad ApplicationName también debe tener un valor. La DataProtector clase exige que se proporcione un nombre de aplicación no vacío.

  • El Validation atributo debe ser un algoritmo de validación real (por ejemplo, MD5, SHA1, HMACSHA256, HMACSHA384, HMACSHA512) o un algoritmo personalizado que subclase el KeyedHashAlgorithm tipo. Los valores AES y 3DES están prohibidos.

  • El marco de trabajo no generará cargas solo firmadas. Los vales de autenticación de formularios siempre se cifrarán y firmarán, independientemente de cómo se establezca el protection atributo del forms elemento en el archivo Web.config. El estado de vista siempre se cifrará y firmará si se EnableViewStateMac establece o RequireViewStateEncryption para una página determinada.

Como resultado de la actualización de seguridad que se describe en el boletín de seguridad de Microsoft MS10-070, el comportamiento de cifrado predeterminado es el mismo para la Framework20SP1 configuración y Framework20SP2 . No se recomienda cambiar el comportamiento predeterminado, pero si quiere hacerlo, consulte Configuración del modo de cifrado heredado en ASP.NET.

Se aplica a