Compartir a través de


Elemento <machineKey>

Configura las claves usadas en la codificación y descodificación de los datos de las cookies de autenticación de formularios y de los datos de estado de vista, así como para la verificación de identificaciones del estado de sesión fuera de proceso. Esta sección puede declararse en los equipos, sitios y aplicaciones, pero no en los subdirectorios.

<configuration>
   <system.web>
      <machineKey>

<machineKeyvalidationKey="AutoGenerate|value[,IsolateApps]"            decryptionKey="AutoGenerate|value[,IsolateApps]"            validation="SHA1|MD5|3DES"/>

Atributos requeridos

Atributo Opción Descripción
validationKey     Especifica la clave usada para la validación de datos codificados. validationKey se usa cuando enableViewStateMAC es true para crear un código de autenticación de mensajes (MAC) con el fin de garantizar que no se ha manipulado el estado de vista. validationKey se usa también para generar id. de sesión específicos a la aplicación y fuera de proceso que garanticen el aislamiento de las variables de estado de sesión entre sesiones.
    AutoGenerate Especifica que ASP.NET debe generar una clave aleatoria y almacenarla en LSA (Local Security Authority, Autoridad de seguridad local). El valor predeterminado es la opción AutoGenerate. Si se agrega el modificador IsolateApps al valor validationKey, ASP.NET generará para cada aplicación una clave codificada única utilizando el ID de la aplicación.
    value Especifica una clave de validación asignada manualmente. Este valor debe establecerse manualmente para asegurar una configuración coherente en toda la red de servidores Web (batería Web). Esta clave debe tener un mínimo de 40 caracteres (20 bytes) y un máximo de 128 (64 bytes). Si se usan claves con menos caracteres que el máximo, es recomendable crearlas con un medio auténticamente aleatorio, como RNGCryptoServiceProvider. La longitud de clave recomendada es 128 caracteres hexadecimales. Si se agrega el modificador IsolateApps al valor validationKey, ASP.NET generará para cada aplicación una clave codificada única utilizando el ID de la aplicación.
decryptionKey     Especifica la clave usada para codificar datos. decryptionKey se usa para la codificación y descodificación de autenticación mediante formularios y para la codificación del estado de la vista cuando validation es 3DES.
    AutoGenerate Especifica que ASP.NET debe generar una clave aleatoria y almacenarla en LSA (Local Security Authority, Autoridad de seguridad local). El valor predeterminado es la opción AutoGenerate. Si se agrega el modificador IsolateApps al valor decryptionKey, ASP.NET generará para cada aplicación una clave codificada única utilizando el ID de la aplicación.
    value Especifica una clave asignada manualmente. Este valor debe establecerse manualmente en una cadena de caracteres hexadecimales para asegurar una configuración coherente en toda la batería de servidores Web. La clave deberá tener 16 caracteres cuando se use la codificación DES y 48 si se usa la codificación Triple DES. Si se usa una clave con menos caracteres que el máximo, es recomendable crearla con un medio auténticamente aleatorio, como RNGCryptoServiceProvider. ASP.NET sólo puede usar Triple DES en equipos que permitan la codificación de 128 bits. Si se agrega el modificador IsolateApps al valor decryptionKey, ASP.NET generará para cada aplicación una clave codificada única utilizando el ID de la aplicación.
validación     Especifica el tipo de cifrado utilizado para la validación de datos.
    SHA1 Especifica que ASP.NET debe utilizar el cifrado SHA1.
    MD5 Especifica que ASP.NET debe utilizar el cifrado MD5.
    3DES Especifica que ASP.NET debe utilizar el cifrado Triple-DES (3DES). Cuando se especifica 3DES, la autenticación con formularios adopta como opción predeterminada SHA1. Cuando el atributo validation es 3DES, la técnica de validación del estado de la vista emplea el cifrado 3DES.

Ejemplo

En el ejemplo siguiente se establece el valor AutoGenerate tanto en validationKey como en decryptionKey. Con el fin de generar claves únicas para cada aplicación en el servidor, se especifica la opción isolateApps.

<machineKey validationKey="AutoGenerate,IsolateApps" 
            decryptionKey="AutoGenerate,IsolateApps" 
            validation="SHA1"/>

Requisitos

Contenido dentro de: <system.web>

Plataforma Web: IIS 5.0, IIS 5.1, IIS 6.0

Archivo de configuración: Machine.config, Web.config

Controlador de la sección de configuración: System.Web.Configuration.MachineKeyConfigHandler

Vea también

Configuración de ASP.NET | Esquema de configuración de ASP.NET