El navegador no solicita el certificado: IIS 10.0

El navegador no solicita el certificado: IIS 10.0

Tengo una aplicación que funcionaba bien en IIS 8.5 y usaba esta configuración en el archivo web.config para un inicio de sesión con certificado de cliente (tarjeta inteligente) para una ruta. Tuve que migrar esta aplicación a IIS 10.0 y todo funciona excepto que la aplicación no solicita el certificado y simplemente arroja un error en el código que indica que no hay certificado.

He verificado dos veces y tres veces todas las configuraciones en IIS, el certificado es el mismo, la configuración de SSL es la misma. La aplicación es una aplicación .netcore simple y funciona perfectamente con la excepción del mensaje de certificado. ¿Hay algo que sea diferente en IIS 10 que en 8.5 que me pueda faltar? La parte de web.config que permite al navegador solicitar el certificado, creo, es esta parte aquí. El desarrollador que hizo esto ya no está con nosotros y agradecería cualquier ayuda para ello. ¿Hay algo que deba comprobar en IIS además de lo que ya he comprobado?

Revisé algunas otras publicaciones y me aseguré de que el certificado raíz y el intermediario estén en el almacén de certificados, etc. La aplicación en sí se carga bien con el certificado SSL.

<location path="SmartCard">
<system.webServer>
  <security>
    <access sslFlags="Ssl,SslNegotiateCert" />
  </security>
</system.webServer>

Respuesta1

Todolas cosas sonigual, éldeberíatrabaja igual!

Sin embargo, esa es la parte clave: ¿tal vez no todas las cosas son iguales por encima del nivel de web.config? (o debajo, ese web.config se aplicará solo a una carpeta SmartCard que sea parte de la misma ruta URL HTTP, según esoubicaciónetiqueta)

Windows\System32\InetSrv\config\ApplicationHost.configtiende a acumularsecosasCon el tiempo, las personas realizan cambios de configuración a nivel de servidor que olvidan.

Entonces, posibles opciones:

  • Comprueba que haya un certificado de servidor.con clave privadainstalado y que los enlaces del sitio incluyan HTTPS

    • Sé que has mencionado que el uso del sitio a través de SSL funciona; esto debería demostrar que
  • Elimine la configuración efectiva para el sitio del servidor que funciona y compárela con la configuración volcada para el servidor que no funciona.

    • Para obtener puntos de bonificación, algo como la herramienta de implementación web podría ayudar con eso.
    • método manual:
      • APPCMD LIST CONFIG http://site/pathabovesmartcard/ /text:* >working.txt(en el servidor en funcionamiento)
      • APPCMD LIST CONFIG http://site/pathabovesmartcard/ /text:* >NONworking.txt(en... lo has adivinado, ¡el servidor que no funciona!)
      • y luegocompararellos con un editor de texto o un ojo juicioso
      • omita /text:* si prefiere XML
  • Agregue a esa NETSH SHOW SERVICESTATEcomparación de cada uno para una revisión rápida de las colas HTTP.SYS

En realidad, esa es la versión expurgada: también puede ver el contenido completo applicationhost.configsin filtrar por sitio (y organizado de manera sensata al principio, luego linealmente con cambios posteriores) en Windows\System32\InetSrv\Config, y esopodríaser más fácil (o mucho más difícil).

información relacionada