Wie erstelle ich unter Windows mit OpenSSL eine Zertifikatsanforderung (CSR)?
- Was ist eine Zertifikatsanforderung (CSR)?
- OpenSSL unter Windows installieren
- Schritte zur Erstellung einer Zertifikatsanforderung mit OpenSSL
- Generierung des privaten Schlüssels
- Erstellung der Zertifikatsanforderung (CSR)
- Besondere Hinweise für Windows-Nutzer
- Weiterverarbeitung der CSR
Die Erstellung einer Zertifikatsanforderung, auch Certificate Signing Request (CSR) genannt, ist ein wichtiger Schritt beim Erwerb eines SSL/TLS-Zertifikats. Unter Windows kann dies mithilfe von OpenSSL durchgeführt werden, einem weitverbreiteten Open-Source-Tool zur Verwaltung von Kryptographie und Zertifikaten. Im Folgenden wird ausführlich erklärt, wie man unter Windows mit OpenSSL eine Zertifikatsanforderung erstellt.
Was ist eine Zertifikatsanforderung (CSR)?
Eine Zertifikatsanforderung ist eine Datei, die vom Antragsteller eines SSL/TLS-Zertifikats erstellt wird. Sie enthält unter anderem den öffentlichen Schlüssel, der später im Zertifikat eingebunden wird, sowie Informationen zum Antragsteller, wie z.B. den Namen der Organisation, die Abteilung, den Standort und die Domain, für die das Zertifikat ausgestellt werden soll. Diese Anfrage wird dann an eine Zertifizierungsstelle (CA) gesendet, die daraufhin das eigentliche Zertifikat erstellt und liefert.
OpenSSL unter Windows installieren
Um OpenSSL unter Windows zu verwenden, muss das Programm zunächst installiert werden. Es gibt verschiedene Varianten von OpenSSL für Windows, beispielsweise von Drittanbietern wie Shining Light Productions. Nach dem Herunterladen und Installieren steht ein OpenSSL-Kommandozeilentool zur Verfügung, mit dem Zertifikatsanforderungen erstellt werden können. Die Umgebungsvariablen sollten so konfiguriert sein, dass man OpenSSL bequem aus der Eingabeaufforderung startet.
Schritte zur Erstellung einer Zertifikatsanforderung mit OpenSSL
Die Erstellung einer CSR mit OpenSSL auf Windows erfolgt hauptsächlich über die Eingabeaufforderung. Zunächst wird ein privater Schlüssel generiert, der für die Sicherheit der späteren SSL-Verbindung entscheidend ist. Anschließend wird mit diesem privaten Schlüssel die CSR erzeugt. Dabei muss darauf geachtet werden, dass alle erforderlichen Informationen korrekt angegeben werden, da diese im Zertifikat sichtbar sind.
Generierung des privaten Schlüssels
Der private Schlüssel kann in verschiedenen Formaten und mit unterschiedlichen Verschlüsselungsalgorithmen erzeugt werden. Ein gängiges Format ist RSA mit einer Schlüssellänge von 2048 Bit. Mit dem OpenSSL-Befehl openssl genrsa -out privkey.pem 2048 wird der private Schlüssel erstellt und in der Datei privkey.pem gespeichert. Es ist wichtig, diesen Schlüssel sicher zu verwahren und nicht weiterzugeben.
Erstellung der Zertifikatsanforderung (CSR)
Nachdem der private Schlüssel vorhanden ist, kann die Zertifikatsanforderung mit dem Befehl openssl req -new -key privkey.pem -out request.csr erzeugt werden. Während der Ausführung fordert OpenSSL die Eingabe verschiedener Daten, darunter das Land, der Bundesstaat, der Ort, der Name der Organisation, die Abteilung, der Common Name (in der Regel die Domain) und die E-Mail-Adresse. Diese Informationen sind wichtig, da sie in das Zertifikat übernommen werden.
Besondere Hinweise für Windows-Nutzer
Auf Windows-Systemen sollte bei der Eingabe der Kommandos geprüft werden, dass Pfadangaben korrekt sind und keine Anführungszeichen überflüssig sind. Außerdem kann ein Windows-Terminal oder die PowerShell verwendet werden, wobei sich die Handhabung leicht unterscheiden kann. Es empfiehlt sich, OpenSSL im Administrator-Modus auszuführen, um mögliche Berechtigungsprobleme zu vermeiden.
Weiterverarbeitung der CSR
Die erzeugte Certificate Signing Request-Datei (request.csr) kann nun an eine Zertifizierungsstelle übermittelt werden. Nach Prüfung dieser erhält man das signierte SSL/TLS-Zertifikat zurück, das zusammen mit dem privaten Schlüssel auf dem Server eingesetzt wird. Dieses Zertifikat erlaubt sichere verschlüsselte Verbindungen zu der angegebenen Domain.
