¿Qué es exactamente la comprobación de IE / Chrome cuando veo la pestaña "ruta de certificación" en los detalles de conexión de cert?

1

Cuando muestro los detalles del certificado para una página web en IE o Chrome, tengo la opción de ver la jerarquía del certificado (en la pestaña "Ruta de certificación"). Aquí hay un ejemplo para security.stackexchange.com:

Originalmente pensé que este era un resumen de la cadena de certificados exacta proporcionada por el servidor durante la conexión TLS + certificado raíz en mi extremo. Sin embargo, recientemente observé que la sección de la ruta de certificación mostrará cosas diferentes si cambio mis propios intermedios almacenados localmente (aunque no haya cambiado nada en el lado del servidor).

Así que mis preguntas son:

  • ¿Qué es exactamente esta comprobación? ¿Dónde está Windows (o más específicamente, la aplicación Crypto Shell Extension ) que llena la información en esta pestaña?
  • ¿Cómo puedo ver exactamente lo que obtuvo el navegador en términos de la cadena de certificados real (suponiendo que el servidor en cuestión no sea de acceso público)?
pregunta Mike B 25.07.2015 - 20:19
fuente

2 respuestas

3
  

¿Qué es exactamente esta comprobación? ¿Dónde está Windows (o más específicamente, la aplicación Crypto Shell Extension) de la información en esta pestaña?

Muestra la ruta de confianza que construyó basándose en los certificados enviados en el protocolo de SSL (ignorando cualquier certificado raíz enviado por el servidor), los certificados intermedios almacenados en caché de otras conexiones, los certificados raíz incorporados y cualquier otro certificado tiene en la tienda. Algunos navegadores también descargan certificados faltantes y estos también se mostrarán.

  

¿Cómo puedo ver exactamente lo que obtuvo el navegador en términos de la cadena de certificados real (suponiendo que el servidor en cuestión no sea de acceso público)?

No obtendrá esta información desde el navegador. Puede usar herramientas como openssl para mostrar los certificados que obtiene:

openssl s_client -showcerts -servername host -connect host:port

En la mayoría de los casos, estos son los mismos certificados que ve el navegador, pero un servidor puede realmente decidir devolver certificados diferentes según los parámetros del protocolo de enlace SSL iniciado por el cliente. Esto es específicamente relevante para la extensión SNI, por lo que debe incluir la opción -servername con s_client.

Pero para obtener un conocimiento definitivo de lo que el navegador ve, debe realizar una captura de paquetes utilizando herramientas como tcpdump o wireshark. Al ver la captura con wireshark, puede ver los certificados enviados por el servidor. Para asegurarse de que no obtiene una reanudación de sesión en la que no ve ningún certificado, asegúrese de reiniciar el navegador antes de visitar el sitio correspondiente.

    
respondido por el Steffen Ullrich 25.07.2015 - 21:04
fuente
0

Cuando se conecta a un sitio a través de SSL, el servidor entrega el certificado para ese sitio durante la sesión SSL. En el campo issuer de este certificado, se especifica el subject del certificado que se usó para firmar el certificado del sitio (es decir, el siguiente certificado en la cadena). Ese certificado puede haber sido firmado por otro certificado, y así sucesivamente, hasta que finalmente se llegue a un certificado raíz en el que el cliente confía (por ejemplo, un certificado CA). Para cada certificado, el campo issuer apunta al subject del siguiente certificado en la cadena.

Entonces, ¿cómo accede el cliente (por ejemplo, el navegador web) a todos estos certificados en la cadena? Hay varias formas en que esto se puede hacer. En muchos casos, el servidor sirve todos los certificados de la cadena. Esto se hace a menudo incluyendo todos los certificados en un archivo .pem. En otros casos, es posible que el cliente ya tenga algunos (o todos) de los certificados en su caché. En otros casos, el campo Authority Information Access de un certificado en la cadena puede usarse para especificar una ubicación HTTP donde se puede acceder al certificado que se usó para firmar este certificado (es decir, el siguiente certificado en la cadena).

Por ejemplo, para el certificado para * .stackexchange.com que incluyó una captura de pantalla en su publicación, si observa el campo issuer , verá 'Validación de la organización de GlobalSign CA - SHA256 - G2'. Este es el subject del certificado que se utilizó para firmar el certificado para * .stackexchange.com. Ahora, si observa el campo Authority Information Access del certificado para * .stackexchange.com, verá la URL enlace . El certificado para 'GlobalSign Organization Validation CA - SHA256 - G2' se puede encontrar en esta URL. Sin embargo, es probable que su navegador web no tenga que descargar ninguno de los certificados de la cadena de las URL proporcionadas en los campos Authority Information Access , porque los servidores web de Stack Exchange sirven todos los certificados de la cadena durante la sesión de SSL.

    
respondido por el mti2935 25.07.2015 - 21:52
fuente

Lea otras preguntas en las etiquetas