Diese Anleitung zeigt Ihnen wie Sie einen CSR (Certificate Signing Request) unter Red Hat Enterprise Linux erstellen und dabei die OpenSSL-Befehlszeile verwenden. Der Vorgang erzeugt zwei Dateien:
- Einen privaten Schlüssel, der auf Ihrem Server bleibt und niemals weitergegeben wird.
- Einen CSR, den Sie bei der Bestellung des Zertifikats an Ihre Zertifizierungsstelle (CA) senden.
Sie deckt zwei Vorgehensweisen ab: eine Methode mit einem einzigen Befehl für moderne OpenSSL-Versionen und eine Konfigurationsdatei-Methode für ältere OpenSSL-Versionen, die keine inline-Erweiterungen unterstützen. Beide erzeugen einen SAN-konformen CSR, signiert mit SHA-256, was von öffentlichen CAs verlangt wird.
Bevor Sie beginnen: OpenSSL-Version prüfen
OpenSSL ist standardmäßig in jeder unterstützten RHEL-Version enthalten. Bestätigen Sie, dass es vorhanden ist, und prüfen Sie die Version, denn diese entscheidet, welche der unten beschriebenen Methoden Sie verwenden können:
openssl version
Was in jeder aktuellen Red Hat-Version enthalten ist:
- RHEL 10 (veröffentlicht 2025, die aktuelle Hauptversion): OpenSSL 3.x
- RHEL 9: OpenSSL 3.x
- RHEL 8: OpenSSL 1.1.1
- RHEL 7: OpenSSL 1.0.2 (RHEL 7 hat 2024 das Ende des Wartungssupports erreicht; verlagern Sie diese Workloads bei Gelegenheit auf eine unterstützte Version)
OpenSSL 1.1.1 und 3.x unterstützen das inline-Erweiterungsflag, das in der Ein-Befehl-Methode verwendet wird. Auf RHEL 8, 9 und 10 können Sie daher unten Option A verwenden. Wenn openssl version 1.0.2 oder älter (RHEL 7) meldet, verwenden Sie die Konfigurationsdatei-Methode in Option B.
Falls OpenSSL doch fehlt, installieren Sie es mit dem Paketmanager Ihrer Version:
# RHEL 8, 9, and 10
sudo dnf install openssl
# RHEL 7
sudo yum install openssl
Auf RHEL 8 und höher ist yum ein Kompatibilitätsalias für dnf, sodass beide Befehle auf diesen Versionen funktionieren.
Option A: Ein Befehl (OpenSSL 1.1.1 und 3.x)
Dies ist der schnellste Weg auf RHEL 8, 9 und 10. Zunächst wird der private Schlüssel erzeugt, dann der CSR erstellt, wobei die Subject Alternative Names (SANs) direkt inline hinzugefügt werden.
Schritt 1: Privaten Schlüssel erzeugen
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key
Dies erstellt einen 2048-Bit-RSA-Privatschlüssel mit dem Namen example.com.key im aktuellen Verzeichnis. 2048-Bit-RSA ist das Minimum, das öffentliche CAs akzeptieren; für einen modernen Schlüssel mit elliptischer Kurve ersetzen Sie stattdessen die Algorithmus-Optionen durch -algorithm EC -pkeyopt ec_paramgen_curve:P-256. Halten Sie diese Datei geheim: Sie bleibt auf Ihrem Server und wird niemals an die CA gesendet.
Schritt 2: CSR mit SANs erstellen
Führen Sie den folgenden Befehl aus und passen Sie die Subjektfelder und Domainnamen an Ihre eigenen an:
openssl req -new -sha256 -key example.com.key -out example.com.csr
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=example.com"
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"
Ersetzen Sie example.com überall durch Ihre tatsächliche Domain und setzen Sie die Subjektfelder auf Ihre Angaben:
- C: zweistelliger Ländercode (zum Beispiel US).
- ST: vollständiger Name des Bundesstaates oder der Provinz.
- L: Stadt oder Ort.
- O: rechtlicher Name der Organisation (bei einem DV-Zertifikat für eine einzelne Domain kann dies weggelassen werden).
- CN: der primäre vollqualifizierte Domainname, zum Beispiel www.example.com.
Listen Sie jeden Hostnamen, den das Zertifikat abdecken muss, im Wert von subjectAltName auf. Moderne Browser validieren gegen die SAN-Liste, nicht gegen den Common Name, also fügen Sie jeden Namen dort hinzu, einschließlich der primären Domain. Der Befehl schreibt den CSR in example.com.csr.
Option B: Konfigurationsdatei-Methode (ältere OpenSSL-Version)
Wenn openssl version eine Version meldet, die das Flag -addext nicht unterstützt (OpenSSL 1.0.2 und älter, wie bei RHEL 7), definieren Sie die SANs stattdessen in einer kleinen Konfigurationsdatei.
Schritt 1: Konfigurationsdatei erstellen (san.cnf)
Erstellen Sie mit einem Texteditor eine Datei namens san.cnf und fügen Sie Folgendes ein, wobei Sie die Werte für Ihre Domain und Organisation anpassen:
[ req ]
default_bits = 2048
prompt = no
distinguished_name = dn
req_extensions = req_ext
[ dn ]
C = US
ST = California
L = San Jose
O = Your Company LLC
CN = example.com
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com
Fügen Sie weitere Hostnamen hinzu, indem Sie die Nummerierung fortsetzen: DNS.3, DNS.4 und so weiter.
Schritt 2: Schlüssel und CSR erzeugen
Erzeugen Sie den privaten Schlüssel:
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key
Erstellen Sie dann den CSR mithilfe der Konfigurationsdatei:
openssl req -new -sha256 -key example.com.key -out example.com.csr -config san.cnf
CSR überprüfen
Bevor Sie ihn einreichen, bestätigen Sie, dass der CSR die richtigen Angaben und eine gültige Signatur enthält. Dieser Befehl gibt den Subject, die SAN-Liste und die Schlüsselgröße aus und überprüft die Selbstsignatur der Anfrage:
openssl req -noout -text -verify -in example.com.csr
Prüfen Sie, ob die Zeile Subject und die Einträge unter X509v3 Subject Alternative Name jede erwartete Domain enthalten, ob der öffentliche Schlüssel mindestens 2048-Bit-RSA (oder ein Schlüssel mit elliptischer Kurve P-256) ist und ob der Signaturalgorithmus SHA-256 lautet. Eine Zeile mit certificate request self-signature verify OK (bei älteren Versionen verify OK) bedeutet, dass CSR und privater Schlüssel zusammenpassen. Wenn Sie einen Browser bevorzugen, fügen Sie den CSR in unseren Online-CSR-Decoder ein, um dieselben Details zu überprüfen.
CSR einreichen
Öffnen Sie die Datei example.com.csr in einem Texteditor und kopieren Sie den gesamten Inhalt, einschließlich der Markierungszeilen -----BEGIN CERTIFICATE REQUEST----- und -----END CERTIFICATE REQUEST----- (jede Markierung verwendet fünf Bindestriche auf beiden Seiten). Fügen Sie den gesamten Block in das Bestellformular ein, wenn Sie das Zertifikat bei Ihrem SSL-Anbieter bestellen.
Bewahren Sie den privaten Schlüssel, example.com.key, auf dem Server auf. Senden Sie ihn nicht an die CA und fügen Sie ihn nirgendwo ein: Er ist die geheime Hälfte des Paares und darf niemals Ihren Kontrollbereich verlassen. Nachdem die CA den CSR validiert und das Zertifikat ausgestellt hat, folgen Sie unserer Anleitung SSL-Installation unter Red Hat Linux, um es zu installieren.
Häufig gestellte Fragen
Der private Schlüssel wird in die Datei geschrieben, die Sie in der Option -out angeben (zum Beispiel example.com.key), im Verzeichnis, in dem Sie den Befehl ausgeführt haben. Er wird lokal erzeugt und niemals in den CSR aufgenommen. Sichern Sie ihn an einem sicheren Ort und schränken Sie seine Zugriffsrechte ein, denn Sie benötigen genau diesen Schlüssel, um das von der CA ausgestellte Zertifikat zu installieren.
Beide werden akzeptiert. 2048-Bit-RSA ist der weithin kompatible Standard und das Minimum, das öffentliche CAs zulassen. Ein Schlüssel mit elliptischer Kurve (ECDSA P-256) ist kleiner und schneller und bietet dabei gleichwertige Sicherheit; erzeugen Sie einen solchen, indem Sie die Schlüsseloptionen durch -algorithm EC -pkeyopt ec_paramgen_curve:P-256 ersetzen. In jedem Fall muss der CSR mit SHA-256 signiert werden, was die obigen Befehle bereits tun.
Das Flag -addext wurde in OpenSSL 1.1.1 eingeführt. Wenn Sie eine ältere Version verwenden (zum Beispiel OpenSSL 1.0.2 auf RHEL 7), nutzen Sie die Konfigurationsdatei-Methode aus Option B, die die Subject Alternative Names in einer Datei san.cnf statt auf der Befehlszeile definiert.
Führen Sie openssl req -noout -text -verify -in example.com.csr auf dem Server aus. Der Befehl gibt den Subject, die vollständige SAN-Liste, den Schlüsseltyp und die Schlüsselgröße sowie den Signaturalgorithmus aus und bestätigt, dass der CSR zum privaten Schlüssel passt. Überprüfen Sie diese Felder, bevor Sie den CSR in das Bestellformular einfügen.
Fügen Sie den gesamten Block ein, von -----BEGIN CERTIFICATE REQUEST----- bis einschließlich -----END CERTIFICATE REQUEST-----, ohne dass Zeichen fehlen. Beide Markierungszeilen verwenden fünf Bindestriche auf jeder Seite. Fügen Sie den privaten Schlüssel nicht ein.
Ja. AlmaLinux, Rocky Linux und CentOS Stream sind binärkompatibel mit der jeweils passenden RHEL-Version und liefern dieselbe OpenSSL-Version mit, sodass die Befehle identisch sind. Wir haben auch ein eigenes Tutorial dazu, wie man einen CSR auf CentOS erzeugt, falls Sie es benötigen.
Sparen Sie 10% auf SSL-Zertifikate, wenn Sie noch heute bestellen!
Schnelle Ausstellung, starke Verschlüsselung, 99,99% Browser-Vertrauen, engagierter Support und 25-tägige Geld-zurück-Garantie. Gutscheincode: SAVE10

