Es sieht aus wiehttps://gmail.comverwendet ein SSL-Zertifikat, das für den Hostnamen gilt mail.google.com
. Da der Hostname des SSL-Zertifikats nicht mit der Browser-URL übereinstimmt, warum funktioniert das? Ich sollte stattdessen eine Warnung erhalten!
Ich habe es mit Firefox und Chromium getestet (es sieht aus wievorher hat es nicht funktioniert).
Ich habe das Zertifikat mit dem folgenden Befehl geprüft: echo | openssl s_client -connect gmail.com:443
Er gibt Folgendes aus:
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
Antwort1
gmail.com verwendet ein gutes Zertifikat, aber der Server, mit dem Sie sich verbinden, verwendetServernamenanzeigeum virtuelle Hosts auf einer einzigen Adresse+Port auszuführen. Damit dies funktioniert, muss der Client dem Server mitteilen, nach welchem virtuellen Host er sucht, bevor die SSL/TLS-Aushandlung erfolgt. Firefox und Chromium (und andere Clients ähnlicher Größe) tun dies automatisch.
Um das gültige Zertifikat mit zu erhalten openssl s_client
, müssen Sie die -servername
Option verwenden.
openssl s_client -servername gmail.com -connect gmail.com:443
Google Ergebnisse fürLuchs SNIsieht nicht gut aus.
Antwort2
https://gmail.com/
verwendet kein fehlerhaftes Zertifikat. Hier ist sein aktuelles Zertifikat, wie es von Fiddler2 abgefangen wurde:
== 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
Beachten Sie das CN=gmail.com
.
Der tatsächliche Antworttyp der HTTP-Anforderung ist to 301 Moved Permanently
. https://mail.google.com/
Dies hat zwei Auswirkungen:
Der Browser leitet zum Ziel um und stellt eine neue Anfrage mit einem neuen Tunnel (weil andere Domäne) und einem anderen Zertifikat. Deshalb sehen Sie ein
mail.google.com
Zertifikat - das istnachdie Umleitung. Wenn Sie sich die Adressleiste ansehen, sehen Sie, dass die Site, auf der Sie sich befindenhttp://mail.google.com/
, , und nichthttp://gmail.com/
. Es ist etwas schwierig, das Zertifikat vor der Umleitung in einem Browser abzufangen, weshalb ich Fiddler2 verwendet habe.Der Browser speichert diese Umleitung im Cache und führt sie in Zukunft automatisch aus, ohne eine weitere Anfrage zu stellen
https://gmail.com/
(das ist der Sinn vonMoved Permanently
). Dies ist für diese Frage nicht wirklich von Bedeutung, macht es aber etwas schwieriger, die Umleitung zu entdecken – Sie müssen zuerst Ihren Cache leeren oder ein privates Browserfenster öffnen.