Das hier ist einer von vielen "HowTo OpenSSL Zertifikat blah" Beiträgen. Nur vergesse ich das Prozedere immer wieder. Und da ich jedesmal aufs neue Suche, schreibe ich es an eine Stelle, an der ich es leicht wieder finde(n kann). Deswegen hier eine Zusammenfassung, wie man mit OpenSSL und einer passenden Konfigurationsdatei Zertifikate erstellen kann.
OpenSSL Konfigurationsdatei
Die vollständige Zertifikatskonfiguration lässt sich in einer Datei abspeichern. Sehr vorteilhaft wenn man z.B. nach Ablauf des erstellten Zertifikates plant, neue CSRs oder / und private Keys zu erstellen. Nicht jede in diesem Beispiel gezeigte Konfiguration ist immer notwendig. Es gibt aber einen Überblick über die wichtigsten Einstellungen.
[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
req_extensions = req_ext
attributes = req_attributes
prompt = no
[ req_distinguished_name ]
countryName = "DE"
stateOrProvinceName = "North Rhine Westphalia"
localityName = "Duesseldorf"
organizationName = "Best Company"
organizationalUnitName = "IT"
commonName = "*.geekbundle.org"
emailAddress = "webmaster@geekbundle.org"
[ req_ext ]
subjectAltName = @alt_names
[ req_attributes ]
unstructuredName = "Best Company"
[ alt_names ]
DNS.1 = *.geekbundle.org
DNS.2 = geekbundle.org
Zertifikat aus Config erstellen
In den meisten Tutorials wird das Zertifikat mit mehreren openssl Befehlen erstellt. Es geht auch mit einem! Da ich den aber immer vergessen, hier:
openssl req -nodes -new -newkey rsa:4096 -keyout geekbundle.org-2019.key -sha256 -out geekbundle.org-2019.csr -config geekbundle.org-2019.conf
CSR überprüfen
openssl req -noout -text -in geekbundle.org-2019.csr