machine generate example asp.net machinekey

asp.net - generate - machine key iis



Ubicación predeterminada de la sección de configuración de MachineKey de ASP.NET (1)

¿Dónde encuentro la sección de configuración de machineKey para ASP.NET?

No tengo uno en mi aplicación Web.config , no hay uno en la raíz Web.config y no hay uno en mi machine.config .

¿Esto significa que hay algún otro valor predeterminado codificado en ASP.NET? Si es así, ¿cuáles son los valores predeterminados? (Para .NET 2 y 4)

Después de leer esto: http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

Esperaba encontrar algo como esto, en algún lugar:

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

Edición: los documentos 1.1 parecen bastante claros valores predeterminados de escritura: http://msdn.microsoft.com/en-us/library/w8h3skw9(VS.71).aspx pero los 4 documentos son bastante ambiguos http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx


machineKey se encuentra en la entrada System.web en web.config

Consulte el http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx para el esquema web.config.

Si no lo ves en tu web.config, simplemente puedes agregarlo allí.

De MSDN otra vez :-)

Para proporcionar un ViewState a prueba de manipulación, se genera un código de autenticación de mensaje hash (HMAC) a partir del contenido de ViewState y el hash se compara en las solicitudes posteriores. El atributo de validación de indica el algoritmo de hash que se debe utilizar, y por defecto es SHA1, que usa el algoritmo HMACSHA1. Las opciones válidas para el hashing incluyen SHA1 o MD5, aunque SHA1 es preferible porque produce un hash más grande y se considera criptográficamente más fuerte que MD5. El atributo validationKey de se usa junto con el contenido de ViewState para producir el HMAC. Si su aplicación está instalada en una granja de servidores web, debe cambiar la validationKey de AutoGenerate, IsolateApps a un valor clave generado manualmente de forma específica.

La configuración predeterminada para los elementos <pages> y <machineKey> se definen en el archivo web.config.comments a nivel de máquina .

Para machineKey, son

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

EDITAR: Para .NET 4.0, el algoritmo predeterminado se changed a SHA256 . Creo que la forma más fácil de encontrar los valores predeterminados es ver la entrada en el MSDN para este valor de configuración.

MSDN 4.0 para machinekey es la siguiente. Los valores seleccionados son los valores por defecto. Los valores en [] son ​​los otros valores opcionales que puede tomar el campo. Recuerdo que leer en algún lugar esta es la forma típica en MSDN de denotar valores predeterminados para los valores de configuración.

<machineKey validationKey="AutoGenerate,IsolateApps" [String] decryptionKey="AutoGenerate,IsolateApps" [String] validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 | HMACSHA384 | HMACSHA512 | alg:algorithm_name] decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name] />