Parecehttps://gmail.comusa um certificado SSL que é para o nome do host mail.google.com
. Como o nome do host do certificado SSL não corresponde ao URL do navegador, por que isso funciona? Eu deveria receber um aviso em vez disso!
Testei com Firefox e Chromium (parecenão funcionou antes).
Verifiquei o certificado com o comando: echo | openssl s_client -connect gmail.com:443
que dá:
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
Responder1
gmail.com usa um bom certificado, mas o servidor ao qual você está se conectando está usandoIndicação do nome do servidorpara executar hosts virtuais em um único endereço + porta. Para que isso funcione, o cliente deve informar ao servidor qual host virtual ele está procurando antes que a negociação SSL/TLS seja concluída. Firefox e Chromium (e outros clientes de tamanho semelhante) fazem isso automaticamente.
Para obter o certificado efetivo com openssl s_client
, você precisa usar a -servername
opção.
openssl s_client -servername gmail.com -connect gmail.com:443
Resultados do Google paralince SNInão parece bem.
Responder2
https://gmail.com/
não usa um certificado incorreto. Aqui está seu certificado atual, interceptado pelo 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
Note o CN=gmail.com
.
O tipo de resposta real da solicitação HTTP é 301 Moved Permanently
to https://mail.google.com/
. Isto tem dois efeitos:
O navegador irá redirecionar para o destino, fazendo uma nova solicitação, com um novo túnel (porque domínio diferente) e certificado diferente. É por isso que você vê um
mail.google.com
certificado - este édepoiso redirecionamento. Se você olhar a barra de endereço, verá que o site em que você está éhttp://mail.google.com/
, nãohttp://gmail.com/
. É um pouco difícil capturar o certificado de pré-redirecionamento em um navegador, e é por isso que usei o Fiddler2.O navegador armazenará esse redirecionamento em cache e o executará automaticamente no futuro, nunca fazendo outra solicitação
https://gmail.com/
(esse é o objetivoMoved Permanently
). Isso não é realmente significativo para esta questão, mas torna um pouco mais difícil descobrir o redirecionamento - você precisa primeiro limpar seus caches ou abrir uma janela de navegação privada.