Parece quehttps://gmail.comutiliza un certificado SSL que es para el nombre de host mail.google.com
. Como el nombre de host del certificado SSL no coincide con la URL del navegador, ¿por qué funciona esto? ¡Debería recibir una advertencia en su lugar!
Probé con Firefox y Chromium (pareceno funcionó antes).
Revisé el certificado con el comando: echo | openssl s_client -connect gmail.com:443
que da:
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
Respuesta1
gmail.com usa un buen certificado, pero el servidor al que se está conectando está usandoIndicación del nombre del servidorpara ejecutar hosts virtuales en una sola dirección+puerto. Para que esto funcione, el cliente debe decirle al servidor qué host virtual está buscando antes de realizar la negociación SSL/TLS. Firefox y Chromium (y otros clientes de tamaño similar) hacen esto automáticamente.
Para obtener el certificado efectivo con openssl s_client
, debe utilizar la -servername
opción.
openssl s_client -servername gmail.com -connect gmail.com:443
resultados de google paralince snino te ves bien.
Respuesta2
https://gmail.com/
no utiliza un certificado incorrecto. Aquí está su certificado actual, interceptado por Fiddler2:
== Server Certificate ==========
[Subject]
CN=gmail.com, O=Google Inc, L=Mountain View, S=California, C=US
[Issuer]
CN=Google Internet Authority G2, O=Google Inc, C=US
[Serial Number]
4F4A246099981C2C
[Not Before]
16/07/2014 10:04:37 PM
[Not After]
14/10/2014 11:00:00 AM
[Thumbprint]
8F1065D237732F71CAD350A3FD0089AEEAAB675E
Nota la CN=gmail.com
.
El tipo de respuesta real de la solicitud HTTP es 301 Moved Permanently
a https://mail.google.com/
. Esto tiene dos efectos:
El navegador redirigirá al destino, realizando una nueva solicitud, con un nuevo túnel (porque diferente dominio) y diferente certificado. Por eso ves un
mail.google.com
certificado: este esdespuésla redirección. Si miras la barra de direcciones, el sitio real en el que te encuentras eshttp://mail.google.com/
, nohttp://gmail.com/
. Es un poco difícil capturar el certificado previo a la redirección en un navegador, por eso usé Fiddler2.El navegador almacenará en caché esta redirección y la realizará automáticamente en el futuro, sin realizar nunca otra solicitud
https://gmail.com/
(ese es el objetivo deMoved Permanently
). Esto no es realmente significativo para esta pregunta, pero hace que sea un poco más difícil descubrir la redirección: primero debes borrar tus cachés o abrir una ventana de navegación privada.