Wer OpenSSL dazu verwendet, um Zertifikatsregistierungsanforderungen (CSR) zu erzeugen, der sollte nicht zuletzt wegen Google einen Parameter zum Festlegen von SHA-2 mit angeben.

Hintergrund ist zum einen, das SHA-1 seit 10 Jahren als unsicher gilt und aktuell Google plant, das der Chrome-Browser in absehbarer Zeit vor solchen Zertifikaten warnt und später vermutlich solche Verbindungen gar nicht mehr zulässt. Nachlesen kann man dies bei Heise.

Einen CSR mit SHA-2 erstellen

Um einen CSR mit SHA-2 zu erstellen, ist es lediglich notwendig einen Parameter anzuhängen:

openssl req -new -key FQDN.key -out FQDN.csr -sha256

Im Beispiel wird SHA-256 verwendet. Welche Parameter diesbezüglich noch zur Verfügung stehen, kann man in der Hilfe von OpenSSL nachlesen.

Ein selbstsigniertes Zertifikat mit SHA-2 ausstellen

Selbstsignierte Zertifikate werden zwar ohnehin “angemeckert”, aber der Vollständigkeit halber, sei es dennoch erwähnt. Nicht zuletzt aus dem Grund, wenn man das Zertifikat als vertrauenswürdig importiert hat.

Als Basis dient der Beitrag Windows: Mit OpenSSL ein selbstsigniertes Zertifikat erstellen.

openssl req -new -x509 -key schluessel.key -out zertifikat.pem -days 9125 -sha256

Auch hier reicht das Hinzufügen des Parameters “-sha256” aus. Das Ergebnis kann man mit folgendem Befehl überprüfen:

openssl x509 -text -noout -in zertifikat.pem

In der sechsten Zeile der Ausgabe wird der verwendete Algorhythmus angezeigt:

 Signature Algorithm: sha256WithRSAEncryption