Elemento machineKey (Esquema de configuración de ASP.NET)
Actualización: noviembre 2007
Configura las claves que se utilizan en el cifrado y descifrado de los datos de las cookies de autenticación de formularios y de los datos de estado de vista, así como para la comprobación de identificaciones del estado de sesión fuera de proceso.
Elemento configuration (Esquema de configuración general)
Elemento system.web (Esquema de configuración de ASP.NET)
Elemento machineKey (Esquema de configuración de ASP.NET)
<machineKey
validationKey="AutoGenerate,IsolateApps" [String]
decryptionKey="AutoGenerate,IsolateApps" [String]
validation="SHA1" [SHA1 | MD5 | 3DES | AES]
decryption="Auto" [Auto | DES | 3DES | AES]
/>
Atributos y elementos
Las siguientes secciones describen atributos, elementos secundarios y elementos primarios.
Atributos
Atributo |
Descripción |
---|---|
decryption |
Atributo String opcional. Especifica el tipo de algoritmo hash utilizado para descifrar los datos. Este atributo puede tener uno de los valores siguientes.
ValorDescripción
Auto Especifica que ASP.NET determina el algoritmo de descifrado que se va a utilizar en función de los valores de configuración. Éste es el valor de descifrado machineKey predeterminado.
AES Especifica que ASP.NET utiliza el algoritmo AES (Rijndael) para descifrar los datos. AES es el algoritmo predeterminado para descifrar los datos.
3DES Especifica que ASP.NET utiliza el algoritmo TripleDES para descifrar los datos. El algoritmo TripleDES (3DES) utiliza tres iteraciones sucesivas del algoritmo DES.
DES Especifica que ASP.NET utiliza el algoritmo Estándar de cifrado de datos (DES) para descifrar los datos.
Nota:
Este atributo es nuevo en la versión 2.0 de .NET Framework.
|
decryptionKey |
Atributo String requerido. Especifica la clave que se utiliza para cifrar y descifrar los datos o el proceso que genera la clave. El atributo se utiliza para el cifrado y descifrado de autenticación de formularios y para el cifrado del estado de vista cuando validation se establece en el campo TripleDES. El modificador IsolateApps del valor decryptionKey indica que ASP.NET genera una clave cifrada única para cada aplicación, utilizando el Id. de la aplicación. IsolateApps se incluye como parte del valor predeterminado. Si necesita que la configuración sea compatible con toda una red de servidores Web (una batería de servidores Web), configure este atributo manualmente para garantizar una configuración coherente. Este atributo puede tener uno de los valores siguientes. El valor predeterminado es AutoGenerate,IsolateApps.
ValorDescripción
AutoGenerate, IsolateApps El modificador AutoGenerate especifica que ASP.NET genera una clave aleatoria y la almacena en la Autoridad de seguridad local (LSA). El modificador IsolateApps especifica que ASP.NET genera una clave cifrada única para cada aplicación utilizando el Id. de aplicación de cada aplicación. Éste es el valor predeterminado.
valor 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 una longitud de 16 caracteres hexadecimales cuando se use el cifrado DES y de 48 caracteres hexadecimales cuando se use el cifrado Triple DES (3DES) o AES. Si se usa una clave con un número de caracteres inferior al máximo, es recomendable crearla con un medio auténticamente aleatorio, como la clase RNGCryptoServiceProvider. ASP.NET sólo puede usar Triple DES en equipos que permitan la codificación de 128 bits.
|
validation |
Atributo MachineKeyValidation requerido. Especifica el tipo de cifrado que se utiliza para validar los datos. Este atributo puede tener uno de los valores siguientes. El valor predeterminado es SHA1.
ValorDescripción
AES Especifica que ASP.NET utiliza el algoritmo AES (Rijndael) para validar los datos.
MD5 Especifica que ASP.NET utiliza el algoritmo hash de Message Digest 5 (MD5) para validar los datos. Con este algoritmo el rendimiento es mayor que con el algoritmo SHA1.
SHA1 Especifica que ASP.NET utiliza el algoritmo hash SHA1 para validar los datos. Utilice este algoritmo para una mayor seguridad. Éste es el valor predeterminado.
3DES Especifica que ASP.NET utiliza el algoritmo TripleDES para validar los datos. El algoritmo TripleDES utiliza tres iteraciones sucesivas del algoritmo DES.
|
validationKey |
Atributo String requerido. Especifica la clave utilizada para validar datos codificados. validationKey se usa cuando el valor de 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 de la aplicación y fuera de proceso que garanticen el aislamiento de las variables de estado de sesión entre sesiones. El modificador IsolateApps del valor validationKey indica que ASP.NET genera una clave cifrada única para cada aplicación, utilizando el Id. de la aplicación. IsolateApps se incluye como parte del valor predeterminado. Si necesita que la configuración sea compatible con toda una red de servidores Web (una batería de servidores Web), establezca el atributo validationKey manualmente para garantizar una configuración coherente. Este atributo puede tener uno de los valores siguientes. El valor predeterminado es "AutoGenerate,IsolateApps".
ValorDescripción
AutoGenerate, IsolateApps El modificador AutoGenerate especifica que ASP.NET genera una clave aleatoria y la almacena en la Autoridad de seguridad local (LSA). El modificador IsolateApps especifica que ASP.NET genera una clave cifrada única para cada aplicación utilizando el Id. de la aplicación. Éste es el valor predeterminado.
valor Especifica una clave asignada manualmente. Este valor debe establecerse en una cadena de caracteres hexadecimales para garantizar una configuración coherente en toda la batería de servidores Web. La clave deberá tener una longitud de 16 caracteres hexadecimales cuando se use el cifrado DES o de 48 caracteres hexadecimales cuando se use el cifrado Triple DES (3DES) o AES. Si se usa una clave con un número de caracteres inferior al máximo, es recomendable crearla con un medio auténticamente aleatorio, como la clase RNGCryptoServiceProvider. ASP.NET sólo puede usar Triple DES en equipos que permitan la codificación de 128 bits.
|
Elementos secundarios
Ninguno.
Elementos primarios
Elemento |
Descripción |
---|---|
configuration |
Especifica el elemento raíz requerido en cada archivo de configuración usado por Common Language Runtime y en las aplicaciones de .NET Framework. |
system.web |
Especifica el elemento raíz de los valores de configuración de ASP.NET de un archivo de configuración y contiene elementos de configuración que configuran las aplicaciones Web ASP.NET y controlan el comportamiento de las aplicaciones. |
Comentarios
En el ejemplo de código siguiente se muestra cómo establecer los atributos validationKey y decryptionKey en AutoGenerate. Con el fin de generar claves únicas para cada aplicación en el servidor se especifica el valor isolateApps.
<machineKey
validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"
/>
Información de elemento
Controlador de la sección de configuración |
|
Miembro de configuración |
|
Ubicaciones configurables |
Archivo Machine.config Archivo Web.config de nivel de raíz Archivo Web.config de nivel de aplicación |
Requisitos |
Servicios de Microsoft Internet Information Server (IIS) 5.0, 5.1 ó 6.0 .NET Framework 1.0, 1.1 ó 2.0 |
Vea también
Tareas
Tutorial: Cifrar la información de configuración mediante la configuración protegida
Cómo: Configurar directorios concretos mediante la configuración de la ubicación
Cómo: Bloquear los valores de configuración de ASP.NET
Conceptos
Proteger las propiedades de perfil
Jerarquía de archivos y herencia de la configuración de ASP.NET
Proteger la configuración de ASP.NET
Escenarios de configuración de ASP.NET
Referencia
Elemento system.web (Esquema de configuración de ASP.NET)
Elemento configuration (Esquema de configuración general)
Otros recursos
Opciones de configuración generales (ASP.NET)
Opciones de configuración de ASP.NET