Seit Chrome 58 funktionieren einige https Verbindungen nicht mehr, da der Browser das Zertifikat als ungültig erklärt.
Hintergrund ist RFC2818, der die Namenserkennung des zu sichernden Servers nicht mehr im CN (Common Name) Feld, sondern via DNS Eintrag in Feld SAN (Subject Alternative Name).
Nach einigen Versuchen, hat sich gezeigt, dass das Zertifikatsrequest noch nicht unbedingt die Requested Extension x509v3 Subject Alternative Name haben muss.
Spätestens aber beim Signieren muss es aber in das Zertifikat (public key) eingetragen werden. Dazu schaut man in der OpenSSL Steuerungsdatei
/etc/ssl/openssl.cnf
wohin die Variable
x509_extensions
zeigt. Dabei handelt es sich um eine Sektion die weiter unten mit [ ] eingeschlossen ist. Dort trägt man folgende Zeile ein.
subjectAltName=${ENV::SAN}
Dies erlaubt eine dynamische Zuweisung des DNS Eintrags als Umgebungsvariable, die man bspw. vor der Signierung auf der Kommandozeile setzt.
export SAN=DNS:www.testserver.org
Die Umgebungsvariable ist aber mit der o.g. Konfiguration auch notwendig, da sonst openssl ein extension Fehler wirft.
Abgeleitet wurde diese Konfiguration von dieser Webseite – danke dafür.