Windows Server 2012R2 - Tienda de CA raíz de confianza (computadora local) no incluida en el SERVIDOR HOLA / CERTIFICADO Solicitud presentada del protocolo TLS1.2

3

mi empresa desarrolló una aplicación basada en .net (basada en SChannel) destinada a realizar la autenticación mutua TLS1.2 entre 2 instancias del mismo SW, una que actúa como cliente y la otra como servidor en la sesión de autenticación mutua TLS1.2 .

Las instancias de software tanto del cliente como del servidor se implementaron en diferentes servidores con sistema operativo Windows (2008R2 y 2012R2).

Hemos probado con éxito la aplicación en un sistema operativo Windows Server 2008 R2 (instancias de software "cliente" y "servidor" que se ejecutan en el sistema operativo WIN 2008R2); en ese caso, el servidor proporciona, dentro del mensaje inicial "Hola del servidor" del protocolo de enlace TLS1.2 en la sección "Solicitud de certificado", una lista de "Nombres distinguidos" que coincide con el contenido del Almacén de certificados de CA raíz de confianza (Local Equipo) ejecutándose en ese mismo servidor, según el estándar RFC TLS1.2.

Sin embargo, cuando se ejecuta la misma aplicación (utilizando el mismo conjunto de certificados) en un entorno de sistema operativo Win2012 R2, durante el mensaje de saludo del servidor, la parte de solicitud de certificado sigue devolviendo una lista de DN vacía (es decir, se está listando 0 certificado) , incluso si el mismo conjunto de CA raíz de confianza está disponible en la tienda de CA raíz de confianza (equipo local).

Cuando el SW actúa como cliente en el protocolo de enlace TLS1.2, ejecutándose en 2008R2 o 2012R2, el SW puede usar con éxito un certificado de autenticación de cliente disponible / instalado bajo la Computadora local - > Personal - > Certificados.

No estuve involucrado en el desarrollo del código de la función criptográfica del programa, pero tengo la sensación de que podría faltar algunas configuraciones adicionales introducidas a nivel del sistema operativo al pasar de 2008R2 a 2012R2 en lugar de tener un problema de SW, por lo tanto me preguntaba si alguien podría sugerir posibles configuraciones de sistema operativo que deban adaptarse.

Gracias

    
pregunta Ottootto 23.12.2016 - 16:15
fuente

1 respuesta

3

Comportamiento esperado en Win2012. Dejarlo como está, o forzar a través del registro.

Nunca he configurado la autenticación de certificado de cliente en ningún IIS, pero creo que descubrí lo que está mal aquí: "SendTrustedIssuerList" predeterminado está en OFF en Win2012.

El lado del servidor de la autenticación mutua TLS funciona de manera diferente en Win2012. A saber: El comportamiento para enviar la lista de emisores de confianza por defecto está desactivado : El valor predeterminado de la clave de registro SendTrustedIssuerList ahora es 0 (desactivado de forma predeterminada) (archivado aquí .) Parece que podría hacerlo manualmente en versiones anteriores del servidor de Windows, pero ahora es el predeterminado.

Además, lo que parece que hace Win2012 ahora es un proceso de búsqueda en tres almacenes de certificados para CA aceptables de certificados de clientes (Archivado aquí .). (Es decir, ya no necesita el engorroso proceso de generar la lista de CA aceptables a través de una "CTL" / "Lista de confianza de certificados" y, en su lugar, simplemente mover / copiar CA aceptables en nuevos almacenes de certificados).

SIN EMBARGO: aunque dicha "Lista de Emisores de Confianza" se debe generar INTERNALMENTE, NO se envía EXTERNAMENTE al cliente. Y eso se debe a que SendTrustedIssuerList ahora toma por defecto a 0 .

Entonces, la solución parece ser:

  1. Compruebe que el proceso de tres tiendas esté correctamente configurado en el lado del servidor.

Y para aplicaciones interactivas:

  1. Si insiste en enviar las CA aceptables al cliente, entonces fuerce SendTrustedIssuerList a 1 . Pero entonces espere que el cliente Apple Safari falle. . (Espero que esto no sea un problema, ya que esto ya habría ocurrido en su configuración de Win2008r2 y no mencionó esto).

  2. Si no insiste en enviar las CA aceptables al cliente, déjelo como está. Pero espere un mayor cuadro de diálogo "elija su certificado de cliente aquí" en sus clientes , ya que no podrá ofrecerles más. consejos sobre certificados de clientes aceptables. (Pero nuevamente, los navegadores de clientes generalmente no tienen tantos certificados de clientes para elegir. Por lo tanto, la lista probablemente sea corta).

Y para aplicaciones no interactivas, como en su caso:

  1. O bien para forzar al lado del cliente a proporcionar el certificado de cliente correcto sin obtener la pista.

  2. O para forzar al servidor a enviar la sugerencia y el lado del cliente a tomar la sugerencia.

respondido por el StackzOfZtuff 24.12.2016 - 09:34
fuente