Wie lässt sich feststellen, ob auf einem Server ein SHA-1-Zertifikat installiert ist?

[Update 19.9.: Testprogramm um detailliertere Ausgaben erweitert]

Google und Microsoft haben Pläne veröffentlicht, nach denen ihre Software die bisher verwendeten, mit SHA-1 signierten Serverzertifikate nicht mehr akzeptieren wird: Update zu Google Chrome/SHA-1 Zertifikate

Da der Zeitplan von Google bereits dieses Jahr Auswirkungen auf die Darstellung von Webseiten in Google Chrome haben wird, empfiehlt sich ein Austausch der mit SHA-1 signierten Serverzertifikate.

Dabei ist zu beachten, dass die gesamte auf einem Server installierte Zertifikatkette (mit Ausnahme des Wurzelzertifikates „Deutsche Telekom Root CA 2“) mit SHA-2 signiert sein muss, also auch die Intermediate-CAs.

Umstellungszeitpunkt auf SHA-2 in der DFN-PKI

In der folgenden Liste ist aufgeführt, zu welchem Zeitpunkt die einzelnen CAs der DFN-PKI (Sicherheitsniveau Global) vollständig, also inklusive der Intermediate-CAs, auf SHA-2 umgestellt wurden:

Liste mit Umstellungszeitpunkten der CAs in der DFN-PKI Global

Zwischen 1.1.2011 und dem Umstellungszeitpunkt Ihrer CA  ausgestellte Serverzertifikate sind betroffen und sollten  ausgetauscht werden,  um auch weiterhin in Google Chrome und ab 2017 in Microsoft-Produkten ohne Beeinträchtigung zu funktionieren.

Vor dem 1.1.2011 ausgestellte Serverzertifikate sind zwar auch mit SHA-1 signiert, sind aber bei maximal 5 Jahren Laufzeit wegen der enthaltenen Ablaufdaten nicht von den Plänen von Google und Microsoft betroffen.

Testprogramm

Ein unter Linux laufendes Testprogramm ist verfügbar unter: https://info.pca.dfn.de/doc/testserver.sh

Das Skript stellt eine Verbindung zu einem zu testenden Server her, und untersucht die Zertifikate, die beim Verbindungsaufbau vom Server übermittelt werden. Gegebenenfalls werden Handlungsempfehlungen ausgegeben.

Das Skript wird mit dem Namen des zu testenden Servers aufgerufen, optional mit dem Port. Als Beispiel (verkürzte Ausgabe):

$ ./testserver.sh www.dfn-cert.de

================================================
Informationen:
--------------
Server: www.dfn-cert.de
        www.dfn-cert.de has address 193.174.13.92
        www.dfn-cert.de has IPv6 address 2001:638:714:2801:2::
Port: 443
Serverzertifikat:
  SubjectDN:    C=DE, ST=Hamburg, L=Hamburg, O=DFN-CERT Services GmbH, CN=www.dfn-cert.de
  Seriennummer: 6586080966759854 (0x176601787c55ae)
[...]
================================================
Ergebnisse:

Alles OK: www.dfn-cert.de:443 hat eine korrekte SHA-2 Konfiguration von Serverzertifikat und Zertifikatkette. Es ist nichts weiter zu tun.

Ansicht des Zertifikats im Browser

In Webbrowsern kann man sich üblicherweise das verwendete Serverzertifikat anschauen.

Als Beispiel der Firefox von Mozilla, mit dem Tab „Details“ in der Zertifikateansicht (erreichbar über einen Klick auf das Schloss in der Adresszeile, dann „Weitere Informationen…“, dann „Zertifikat anzeigen“) :

zertifikat

Ergebnis: Im unteren Bereich erscheint als Feld-Wert „PKCS # 1 SHA-256 mit RSA-Verschlüsselung“. Das Zertifikat ist also mit SHA-2 signiert, und müsste nicht ausgetauscht werden.

Achtung: Die Ansicht im Webbrowser verrät noch nicht, ob auch die komplette Zertifikatkette des Webservers auf SHA-2 umgestellt wurde. Insbesondere können die dargestellten Intermediate-CAs auch aus dem internen Zertifikatspeicher des Webbrowsers kommen und nicht die tatsächliche Konfiguration des Webservers widerspiegeln.

Mit dieser Webbrowser-Ansicht ist daher nur ein schneller Überblick möglich, man erhält aber keine vollständige Aussage. Eine genauere Prüfung, z.B. mit dem oben genannten Testprogramm oder auf dem Server selbst, ist also trotzdem sinnvoll.

Überprüfung durch externe Dienste

Es gibt externe Dienste, die die Konfiguration von HTTPS-Webservern prüfen und Hinweise auf Verbesserungsmöglichkeiten geben. Ein gut funktionierender Dienst ist SSL Labs (https://www.ssllabs.com/ssltest). SSL Labs gibt bei SHA-1-Zertifikaten in der Zertifizierungskette eine Warnung aus.

Externe Dienste können natürlich nur genutzt werden, wenn der betreffende Server auch von außerhalb des eigenen Netzes erreichbar ist. Bitte beachten Sie bei der Nutzung von externen Diensten, dass Sie damit Daten über Ihre Server an Dritte weitergeben.

(jbr, 17.09.2014)