OpenSSL ist normalerweise in den meisten Linux-Distributionen enthalten. Im Falle von Ubuntu wird durch einfaches Ausführen von apt install OpenSSL sichergestellt, dass Sie die Binärdatei verfügbar und in der neuesten Version haben. OpenSSL unter Windows ist etwas schwieriger, da Sie eine vorkompilierte Binärdatei installieren müssen, um loszulegen.
Eine solche Quelle, die vorkompilierte OpenSSL-Binärdateien bereitstellt, ist die folgende Website von SLProWeb. Die empfohlene Endbenutzerversion, die sowohl ausführbare Dateien als auch MSI-Installationen anbietet, ist die Light x64 MSI-Installation. Die Standardoptionen sind am einfachsten zu starten.
Überprüfen Sie, ob die Installation funktioniert, indem Sie den folgenden Befehl ausführen. Beachten Sie, dass dieser Befehl in der PowerShell-Umgebung ausgeführt wurde (daher der & vor dem Befehl).
& "C:\\Programme\\OpenSSL-Win64\\bin\\openssl.exe" Version
Um die Ausführung dieses Befehls zu vereinfachen, können Sie den Pfad in PowerShell so ändern, dass er die ausführbare Datei $Env:Path = $Env:Path + "; C:\\Programme\\OpenSSL-Win64\\bin"
Es gibt viele verschiedene Möglichkeiten, Zertifikate zu generieren, aber die Anwendungsfälle, die normalerweise auftauchen, sind die folgenden.
Ein gängiger Servervorgang besteht darin, ein selbstsigniertes Zertifikat zu generieren. Es gibt viele Gründe dafür, z. B. das Testen oder Verschlüsseln der Kommunikation zwischen internen Servern. Der folgende Befehl generiert einen privaten Schlüssel und ein Zertifikat
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:4096 -keyout private.key -out certificate.crt
Lassen Sie uns die verschiedenen Parameter aufschlüsseln, um zu verstehen, was passiert.
Sobald das Zertifikat generiert wurde, sollten wir überprüfen, ob es gemäß den von uns festgelegten Parametern korrekt ist.
openssl x509 -in certificate.crt -text -noout
Die Parameter hier sind für die Überprüfung eines x509-Typzertifikats. Die Kombination ermöglicht es, das Zertifikat in einem Format auszugeben, das für eine Person leichter lesbar ist.
Der nächsthäufigste Anwendungsfall von OpenSSL ist das Erstellen von Zertifikatsignieranforderungen zum Anfordern eines Zertifikats von einer vertrauenswürdigen Zertifizierungsstelle.
openssl req -new -newkey rsa:2048 -nodes -out request.csr -keyout private.key
Ähnlich wie beim vorherigen Befehl zum Generieren eines selbstsignierten Zertifikats generiert dieser Befehl eine CSR. Sie werden feststellen, dass die Parameter -x509, -sha256und -days fehlen. Indem wir diese ausschalten, sagen wir OpenSSL, dass eine andere Zertifizierungsstelle das Zertifikat ausstellen wird. In diesem Fall lassen wir die Option -nodes aktiviert, um nicht zur Eingabe eines Kennworts mit dem privaten Schlüssel aufzufordern.
Um zu überprüfen, ob die CSR korrekt ist, führen wir erneut einen ähnlichen Befehl aus, jedoch mit dem hinzugefügten Parameter -verify. Mit diesem Befehl wird überprüft, ob die generierte CSR korrekt ist. Dies ist ein umsichtiger Schritt, bevor Sie sich an eine Zertifizierungsstelle senden.
openssl req -in request.csr -text -noout -verify
OpenSSL ist ein komplexes und leistungsstarkes Programm. Obwohl dieser Artikel nur an der Oberfläche dessen kratzt, was getan werden kann, sind dies häufige und wichtige Vorgänge, die im Allgemeinen von Systemadministratoren ausgeführt werden. Es gibt noch viel mehr zu lernen, aber mit diesem Ausgangspunkt hat ein IT-Experte eine großartige Grundlage, auf der er aufbauen kann!
Get our latest blog posts delivered in a weekly email.