Neue Zertifikate mit OpenSSL erstellen
Einleitung
In dieser Anleitung werden wir mithilfe von OpenSSL TLS Zertifikate erstellen, mit dem wir dann unseren Web-Server üüber HTTPS erreichbar machen kökönnen. OpenSSL ist füfür diesen Zweck eine passende Alternative, da diese keine Verbindung ins Internet benöbenötigt, und kostenlos verwendbar ist.
Um diese Zertifikate zu erstellen, mümüssen wir sicherstellen, dass wir das Paket openssl
installiert haben. Wenn dies nicht der Fall ist, kökönnen wir dieses eben nachinstallieren.
apt update && apt install openssl -y
Erstellen von PK und CSR
In diesem Abschnitt werden wir einen PK (Private Key) und einen CSR (Certificate Signing Requests) erstellen. Mit diesen Dateien kökönnen wir dann unseren Web-Server verschlüverschlüsseln.
openssl req -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr
Wenn wir diesen Befehl abgesetzt haben, mümüssen wir die Abfragen, die Folgen beantworten. Der erste Parameter -newkey rsa:2048
gibt an, dass der SchlüSchlüssel 2048 bit lang sein soll, und mit dem RSA Algorithmus verschlüverschlüsselt werden soll.
Mit dem zweiten Parameter -nodes
geben wir an, dass wir den SchlüSchlüssel nicht mit einem Kennwort verschlüverschlüsseln.
CSR aus einem vorhandenen PK erstellen
Der folgende Befehl kann verwendet werden, wenn wir ein CSR (Certificate Signing Requests) erstellen mömöchten, wir aber schon einen Private Key besitzen, bzw. erstellt haben.
openssl req -key domain.key -new -out domain.csr
Jetzt mümüssen wir beim ersten Parameter -key
den Dateinamen unseres SchlüSchlüssels angeben. Sobald wir das eingetragen haben, kökönnen wir den Befehl abschicken und die CSR Datei wird erstellt.
Selbst signiertes SSL SIL-Zertifikat erstellen
Jetzt wollen wir ein TLS Zertifikat erstellen, welches nicht von einer externen Zertifizierungsstelle stammt. Dies kökönnen wir uns von Gebrauch machen, wenn wir unseren Web-Server verschlüverschlüsseln mömöchten.
openssl req -newkey rsa:2048 -nodes -keyout domain.key -x509 -days 365 -out domain.crt
Der erste Parameter gibt wieder den VerschlüVerschlüsselungsalgorithmus an. Der Parameter -x509
gibt an, dass wir unser Zertifikat nicht von einer externen Zertifikatsstelle signieren lassen mömöchten. Und der folgende Parameter -days
gibt an, wie lange unser Zertifikat gügültig ist.