Ich bin gerade auf ein kleines Problemchen gestoßen und zwar ließ sich ein von mir erstelltes SSL Zertifikat auf einer Domain, welche als VHost in meinem Apache eingetragen war, nicht abrufen.

Bei jedem Abruf erhielt ich das Zertifikat des ersten eingetragenen VHosts. Auf allen anderen Rechnern hier im Haushalt funktionierte es jedoch tadellos. Irgendwas an meinem Betriebssystem oder an meinem verwendeten Firefox 5.0 konnte also nicht stimmen.

SNI-Fehlgeschlagen

SNI-Test

Der Ablauf eines HTTPS-Abrufs sieht vor, dass der aufgerufene Hostname mit verschlüsselt wird. So weiß der Server bis zur Entschlüsselung (mit entsprechendem Zertifikat) nicht, welchen VHost er ansprechen muss um das richtige Zertifikat zu wählen. Für diesen Umstand gibt es SNI (Server Name Indication) welches durch TLS (Transport Layer Security) vor der eigentlichen Verschlüsselung/Übertragung im „Client Hello“ gesendet wird.

Erfolgreicher SNI Client Hello (Wireshark Screenshot)

Erfolgreicher SNI Client Hello

Diese teilt dem Server dann mittels einem gemeinsam ausgehandelten Schlüssel mit, welche Domain ich denn gerade versuche aufzurufen. Somit weiß der Server also, dass ich Domain www.example2.com aufrufen möchte und nicht die Hauptdomain www.example.com und liefert mir das richtige/passende Zertifikat.

Genau diese TLS Verbindung lieferte bei meinem Firefox jedoch kein SNI mit. Als erstes dachte ich, dass es eventuell am deaktivierten TLS liegen würde. TLS war jedoch in der GUI, genau wie unter about:config aktiviert (auf true gesetzt). Auch die Kontrolle des Paketverkehrs mit Wireshark zeigte, dass TLS benutzt wird. Nur eben der SNI Eintrag (server_name extension) fehlte.

Der Grund war, dass mein Firefox Profil aus irgendeinem Grund defekt war. Den Firefox also mittels Profilmanager gestartet.

"C:\Programme\Mozilla Firefox\firefox.exe" -ProfileManager

Ein neues Profil erstellt und gestartet. Läuft. Der Test unter https://alice.sni.velox.ch zeigte dass SNI wieder korrekt gesendet wurde.

Nun erklär‘ mir bitte einer, wie ich es geschafft habe SNI in meinem „Default“-Profil zu deaktivieren.

Vielen Dank!