Ver el certificado SSL de una página que redirige inmediatamente a otra

25

Así que busqué en Google un poco para esto, pero parece que mi google-fu me falla: disculpas si esta es una pregunta trivial y ya respondida, no pude encontrar nada al respecto

Estoy tratando de diagnosticar una coincidencia de nombre de host de certificado SSL. Cuando visito la url en cuestión, me redirige a otra página que tiene el certificado SSL correcto. Sin embargo, algunos clientes informan que están recibiendo un error de falta de coincidencia del nombre de host del certificado SSL. Mi única suposición es que la página de redireccionamiento tiene el certificado incorrecto y algunos clientes lo están dejando pasar porque se resuelve con una nueva página que tiene el certificado correcto.

(El cómo y el por qué del problema no es realmente la cuestión)

La pregunta:

Desde afuera (también conocido como un cliente en el mundo), ¿cómo se vería el certificado que fue entregado por una página que redirige automáticamente a otra página?

Robert Petz
fuente
Otro recurso útil es la Prueba del servidor SSL de los Laboratorios SSL de Qualy.
TRiG

Respuestas:

35

Utilice openssl s_client canalizado a openssl x509 :

$ openssl s_client -connect foo.example.com:443 < /dev/null | openssl x509 -text

(Agregue -servername foo.example.comal comando s_client si el servidor usa SNI ).

La redirección de stdin desde / dev / null para la primera invocación de openssl evitará que se cuelgue esperando la entrada.

EEAA
fuente
2
También puede canalizar la salida a openssl x509 -textver realmente lo que está en el CERT del servidor, y redirigir la entrada de la primera opensslorden desde /dev/nulllo que el comando no se cuelga: openssl s_client -connect ... < /dev/null | openssl x509 -text. Busque el campo "Nombre alternativo del sujeto X509v3".
Andrew Henle
@AndrewHenle Gran adición. Siéntase libre de editar eso en mi respuesta si lo desea.
EEAA
Funcionó de maravilla: solo pasé una cantidad limitada de tiempo con openSSL, pero cada vez que necesito hacer algo relacionado con SSL, todo se reduce a eso jaja ... ¡Gracias por el consejo!
Robert Petz
66
Si el servidor usa SNI, debe agregar -servername foo.example.coma las s_clientopciones.
Bruno
No veo la cadena de confianza en la salida. Si quiero ver si VeriSign o LetsEncrypt o ChineseGov o DO_NOT_TRUST_FiddlerRoot confían en un sitio web, ¿qué debo buscar?
Carl Walsh
7

En Firefox 57, si abre las Herramientas para desarrolladores y va a la pestaña Red:

  1. Asegúrese de que Persist Logsesté marcado
  2. Visita la URL de interés
  3. Haga clic en la fila superior (es decir, la que corresponde a la solicitud al servidor que le interesa, que resultó en la respuesta de redireccionamiento)
  4. Haga clic en la Securitypestaña (a medio camino, aún dentro Network)

Esto le permitirá ver la información del certificado, como el nombre común del emisor, los detalles del emisor, el período de validez y las huellas digitales.

Esto funcionó para mí en un sitio que respondía con una redirección 301 a otro sitio web HTTPS. (Lamentablemente, la respuesta aceptada me dio el certificado de la página de destino final).

mpavey
fuente
Gracias por un método de navegador nativo. ¿Probaste la -servernameopción con openssl? Eso puede dar un resultado diferente, incluso si es el mismo nombre.
mwfearnley
@mwfearnley ¡No! Con openssl, simplemente copié y pegué la respuesta y me di por vencida después de que no funcionó :) Gracias por la sugerencia.
mpavey
1

Como alternativa a los programas separados mencionados en otras respuestas, también puede deshabilitar la redirección automática en su navegador.

La opción para hacer esto varía según el navegador, aquí hay métodos para Firefox y Chrome:

jpa
fuente
¿No estás seguro de quién rechazó esto?
Robert Petz
Sí, esto es exactamente lo que quería, una solución completamente en el navegador.
Michael12345
1
Esto no funcionó para mí en Chrome. Puedo ver el 302 en la traza de la red, pero no veo cómo inspeccionar el certificado de las trazas de la red. Si hago clic en la pestaña Seguridad, Chrome me muestra el certificado de la página web actual (el objetivo de redirección).
Carl Walsh
El voto negativo probablemente se deba a que las respuestas "solo de enlace" tienden a pudrirse con los años a medida que cambian los productos. ¿Quizás esta respuesta funcionó antes de que Chrome introdujera la pestaña Seguridad?
Carl Walsh
1
@jpa El enlace que proporcionó para Chrome parece explicar cómo preservar el registro de la red después de una redirección, en lugar de cómo evitar que Chrome siga la redirección.
mpavey