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

MachineKeyCompatibilityMode

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 la .NET Framework reducen el riesgo de que un atacante pueda realizar correctamente el ingeniería inversa del 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 al servidor que creó el vale, no se reconocerá el vale.

Se pueden especificar los siguientes valores 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 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 la .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 el .NET Framework 2.0 SP2. Use este valor para todos los servidores de una granja de servidores web si todos los servidores tienen el .NET Framework 2.0 SP2 o posterior, pero al menos uno no tiene el .NET Framework 4.5.

  • Framework45. Las mejoras criptográficas de 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 no generará cargas de solo firma. 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 EnableViewStateMac se 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