none
Problemas al añadir machineKey (caracteres hexadecimales no válidos.) RRS feed

  • Pregunta

  • Estoy tratando de añadir claves generadas en el IIS

    Actualmente estoy trabajando con autogenerado de claves:

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

    Pero cuando voy al IIS y genero las keys:

    <machineKey 
        validationKey="32E35872597989D14CC1D5D9F5B1E94238D0EE32CF10AA2D2059533DF6035F4F,IsolateApps"  validation="SHA1"
        decryptionKey="B179091DBB2389B996A526DE8BCD7ACFDBCAB04EF1D085481C61496F693DF5F4,IsolateApps" compatibilityMode="Framework45"
    />

    Me aparece el siguiente error:

    Error de configuración

    Descripción: Error durante el procesamiento de un archivo de configuración requerido para dar servicio a esta solicitud. Revise los detalles de error específicos siguientes y modifique el archivo de configuración en consecuencia.

    Mensaje de error del analizador: La clave de descifrado especificada tiene caracteres hexadecimales no válidos.


    Por lo que estoy viendo el error creo que viene cuando se añade: ",IsolateApps" pero se supone que esto lo esta generando automáticamente el servidor.

    Yo lo que quiero son esas claves generadas únicamente para una web WebForms por eso debería utilizar el IsolateApps

    Una segunda consulta que quería hacer:

    ¿El generar el machineKey es una buena práctica o se recomienda que se genere automáticamente?

    Muchas gracias.






    miércoles, 22 de febrero de 2017 8:03

Respuestas

  • Hola, el problema es que seguramente tengas algún carácter "especial" que no se ve. Por el tema de la codificación. Abre el archivo con el notepad (el clásico de Windows) modifica algo, por ejemplo poner un carácter espacio en algúnlado y graba.

    Coméntanos


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta dudasc miércoles, 22 de febrero de 2017 14:06
    miércoles, 22 de febrero de 2017 9:20
    Moderador
  • ¿es buena práctica añadir la machineKey o es mejor dejar que IIS la genere automáticamente?

    Si es para una sola maquina es mejor dejar que la genere automaticamente. Pero si necesitas compartir el cifrado entre varios servidores (por ejemplo, cuando usas una granja de servidores), entonces hay que poner manualmente la clave en todos ellos para que todos usen la misma.
    • Marcado como respuesta dudasc miércoles, 22 de febrero de 2017 14:06
    miércoles, 22 de febrero de 2017 13:12

Todas las respuestas

  • Hola, el problema es que seguramente tengas algún carácter "especial" que no se ve. Por el tema de la codificación. Abre el archivo con el notepad (el clásico de Windows) modifica algo, por ejemplo poner un carácter espacio en algúnlado y graba.

    Coméntanos


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó, vótala como útil. Saludos

    • Marcado como respuesta dudasc miércoles, 22 de febrero de 2017 14:06
    miércoles, 22 de febrero de 2017 9:20
    Moderador
  • Hola Sergio, antes de nada, gracias por la respuesta.

    He probado a ver el fichero como indicas, pero está todo correctamente.

    En un foro he leido lo siguiente (traducido de la página):

    El modificador IsolateApps hace que ASP.NET genere una clave única para cada aplicación en su servidor. Esto sólo es aplicable si está generando automáticamente las claves en tiempo de ejecución.

    Si no está generando automáticamente las claves y está especificando las claves usando decryptionKey="{hex-key value}", entonces la forma de obtener ASP.NET para usar una clave diferente para cada aplicación es que simplemente especificando una clave diferente en el Web.config de cada aplicación.

    La GUI de configuración de IIS le permite crear un Web.config con una clave explícita junto con el modificador IsolateApps, que es inválido, y en mi opinión es un error en la GUI de configuración.

    Se ve que es un error del IIS, que cuando se "generan las keys" éste añade "{hex-key},IsolateApps" en el web.config y hace que de un error. Ya que se supone que al poner esas claves dentro de un Web.config ya estás indicando que son únicas para esa web. por lo que no hace falta añadir ,IsolateApps. Por eso quizás me esté funcionando con {hex-key} sin el IsolateApps.

    Sergio, otra duda, ¿es buena práctica añadir la machineKey o es mejor dejar que IIS la genere automáticamente?

    Gracias

    • Marcado como respuesta dudasc miércoles, 22 de febrero de 2017 14:06
    • Desmarcado como respuesta Joyce_ACModerator jueves, 23 de febrero de 2017 16:38
    miércoles, 22 de febrero de 2017 12:34
  • ¿es buena práctica añadir la machineKey o es mejor dejar que IIS la genere automáticamente?

    Si es para una sola maquina es mejor dejar que la genere automaticamente. Pero si necesitas compartir el cifrado entre varios servidores (por ejemplo, cuando usas una granja de servidores), entonces hay que poner manualmente la clave en todos ellos para que todos usen la misma.
    • Marcado como respuesta dudasc miércoles, 22 de febrero de 2017 14:06
    miércoles, 22 de febrero de 2017 13:12