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