Ende April hat Google den Chrome-Browser in Version 58 freigegeben. Kurze Zeit später tauchten bereits die ersten Nachrichten in den einschlägigen Foren auf, die meldeten, dass Chrome auf einmal beim Zugriff auf bislang problemlos abrufbaren Webseiten die Fehlermeldung "NET::ERR_CERT_COMMON_NAME_INVALID" produziert (Bild 1). Wie üblich wurden in den Foren die skurrilsten Lösungsvorschläge unterbreitet. Wir können nur hoffen, dass keiner der Benutzer die Überprüfung von X.509-Zertifikaten komplett abgeschaltet hat, wie es teilweise empfohlen wurde.
Was ist genau passiert? Um das zu verstehen, schauen wir uns etwas genauer an, wie ein Zertifikat von einem Webbrowser überprüft wird. Der RFC 2818 [1] beschreibt im Kapitel "3.1. Server Identity" den Ablauf im Detail. Zusammengefasst steht dort, dass der Browser beim Zugriff auf eine mit HTTPS gesicherte Webseite, den in der URI verwendeten Hostnamen mit dem Namen vergleichen soll, der im Zertifikat des Server verwendet wird. Nun ist es aber so, dass der Name des Systems an mehreren Stellen im Zertifikat stehen kann. Er kann sowohl im Subject als Common Name wie auch in der Erweiterungen als Subject Alternative Name aufgeführt sein:
$ certutil -a -d /etc/httpd/alias/ -L -n "Server-Cert"|openssl x509 -subject -noout
subject= /O=EXAMPLE.COM/CN=ipa-rhel7.example.com
$ certutil -a -d /etc/httpd/alias/ -L -n "Server-Cert"|openssl x509 -text -noout|grep -B1 DNS X509v3 Subject Alternative Name: DNS:ipa-rhel7.example.com
Laut RFC muss der Webbrowser zuerst überprüfen, ob der Hostname aus der URI als subjectAltName-Erweiterung im Zertifikat hinterlegt ist. Sollte dies nicht der Fall sein, muss als Fallback auch eine Überprüfung des Common Name im Subject stattfinden. Der RFC – immerhin schon gut 17 Jahre alt – sagt an dieser Stelle jedoch auch, dass dieser
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.