Servidor que proporciona dos certificados SSL diferentes

1

Cuando busco en el navegador un sitio example.com , veo que el sitio tiene un certificado válido, no vencido, con validez hasta el final de 2016.

Al mismo tiempo, cuando escaneo el mismo dominio en el puerto 443 utilizando un script Python que he desarrollado, obtengo el certificado example.com como vencido y diferente del certificado no vencido.

¿Por qué los dominios sirven dos certificados diferentes?

    
pregunta Arun 29.01.2016 - 08:33
fuente

1 respuesta

9

Supongo que este sitio utiliza Indicación del nombre del servidor (SNI) . En este caso, los certificados servidos dependen del nombre de host especificado en la extensión SNI y, a menudo, serán diferentes si no se utiliza una extensión SNI. Es decir. será un certificado predeterminado completamente diferente o será un certificado antiguo porque solo reemplazaron el certificado utilizado para SNI al renovar el certificado.

Todos los navegadores modernos usan SNI durante años, mientras que fuera de los navegadores el soporte es mixto. El soporte para SNI se agregó a Python con la versión 2.7.9 en 12/2014. Es posible que esté ejecutando una versión anterior de Python o que esté usando un acceso de nivel inferior a la conexión SSL, en la que tiene que establecer explícitamente la extensión SNI.

En teoría, también se podrían enviar certificados diferentes según las capacidades del cliente, es decir, los certificados firmados con SHA-256 para un cliente TLS 1.2 pero un certificado SHA-1 para un cliente TLS 1.0. En la práctica, la mayoría de las pilas TLS no ofrecen este tipo de comportamiento o hacen que sea difícil de usar y, por lo tanto, los servidores no implementan tal característica. Por lo tanto, supongo que su problema está relacionado con SNI.

    
respondido por el Steffen Ullrich 29.01.2016 - 08:54
fuente

Lea otras preguntas en las etiquetas