CSR-Datei für ein SSL-Zertifikat erstellen
Wie erstelle ich eine CSR-Datei für mein SSL-Zertifikat?
Ein CSR (Certificate Signing Request) ist eine Textdatei, die bei der Beantragung eines SSL/TLS-Zertifikats erstellt und an eine Zertifizierungsstelle (CA) gesendet wird. Sie enthält u. a. den öffentlichen Schlüssel, Domaininformationen und ggf. Unternehmensdaten.
Der CSR wird mit dem privaten Schlüssel (Key) signiert und weist technisch nach, dass der Antragsteller den passenden Schlüssel besitzt. Die CA prüft die Berechtigung für Domain oder Unternehmen, bevor das Zertifikat ausgestellt wird.
Für die Bestellung eines SSL-Zertifikat bei maxcluster wird kein CSR benötigt.
Ein eigener CSR wird zum Beispiel benötigt, wenn:
- das Zertifikat auf eigenen Servern installiert wird und der private Schlüssel dort bleiben soll,
- Cloud- oder SaaS-Plattformen ein eigenes CSR verlangen,
- besondere Anforderungen bestehen (z. B. RSA 4096 Bit oder ECC),
- ein Zertifikat erneuert oder ersetzt werden soll, ohne den privaten Schlüssel zu ändern.
Was ist bei der Erstellung einer CSR-Datei zu beachten?
- Eine CSR-Datei wird meist mit OpenSSL erstellt.
- Der private Schlüssel (private key) wird vor dem CSR erstellt.
- Der private Schlüssel und die CSR-Datei gehören zusammen. Der private Schlüssel muss sicher aufbewahrt und darf niemals weitergegeben werden.
- Der CSR ist fest an den privaten Schlüssel gebunden. Geht der Schlüssel verloren, sind der CSR oder das damit erstellte Zertifikat unbrauchbar.
- Der Common Name (CN) muss exakt der Domain entsprechen, für die das Zertifikat ausgestellt wird.
- Die eingegebenen Daten können später nicht geändert werden, ohne eine neue CSR zu erstellen.
- Für jede Neuausstellung oder Änderung der Domains sollte ein neuer CSR erstellt werden. Ausnahme: Re-Issue mit gleichem privaten Schlüssel.
Wie erstelle ich eine CSR-Datei für ein SSL-Zertifikat?
Wenn Sie eine eigene CSR-Datei benötigen, können Sie diese selbst erstellen. Die Erstellung sollte im Idealfall dort passieren, wo der Key hinterher eingesetzt werden soll – bei Ihnen lokal, auf Ihrem Cluster bei maxcluster oder auf einem anderen Server.
Öffnen Sie demzufolge dafür
-
ein lokales Terminal,
-
verbinden Sie sich per SSH mit Ihrem Cluster bei uns oder
-
öffnen Sie eine Verbindung zu einem anderen Server
und führen Sie folgende Befehle aus:
Hinweis: Ersetzen Sie in der folgenden Beschreibung "IHRE DOMAIN" durch die tatsächliche Domain, für die der CSR ausgestellt werden soll.
-
Erstellen Sie zuerst mit folgendem Befehl einen RSA-Private Key:
openssl genrsa -out www.IHREDOMAIN.de.key 4096
- Dieser Befehl erstellt einen privaten RSA-Schlüssel für die Domain. Die Zahl 4096 gibt die Länge des Schlüssels in Bits an, also wie „stark“ der Schlüssel ist.
- 4096 Bit gilt als sehr sicher und wird häufig für besonders sensible Anwendungen empfohlen. Das BSI (Bundesamt für Sicherheit in der Informationstechnik) empfiehlt bei RSA mindestens 3072 Bit.
- 8192 Bit sind extrem sicher, führen aber zu deutlich längeren Berechnungszeiten und sind meist unnötig. Da die Länge des Schlüssels auch die Größe des Zertifikats bestimmt, und ein größeres Zertifikat zusätzlich den Verbindungsaufbau verlangsamen kann, raten wir von unnötig großen Schlüssellängen ab.
Achten Sie darauf, dass der „KEY“ (private Schlüssel) einen Teil der Verschlüsselung darstellt und vertraulich behandelt werden muss.
- Dieser Befehl erstellt einen privaten RSA-Schlüssel für die Domain. Die Zahl 4096 gibt die Länge des Schlüssels in Bits an, also wie „stark“ der Schlüssel ist.
- Mit folgendem Befehl erstellen Sie die CSR-Datei:
openssl req -new -key www.IHREDOMAIN.de.key -out www.IHREDOMAIN.de.csr- Dieser Befehl nimmt Ihren zuvor erstellten privaten Schlüssel (Key) und erstellt daraus die CSR-Datei, die Sie für die Beantragung eines SSL-Zertifikats bei einer CA benötigen. Die Daten, die im Zertifikat enthalten sein sollen (Domainnamen, ggf. Daten zum Inhaber), werden interaktiv abgefragt.
Hinweis: In einer CSR-Datei sind Umlaute und die meisten Sonderzeichen nicht erlaubt. Diese sollten vermieden und stattdessen entsprechend ersetzt werden.
z. B. ä zu ae, ö zu oe, ü zu ue und ß zu ss.
Grund: Zertifizierungsstellen können diese Zeichen oft nicht interpretieren und es kann zu Fehlern bei der Ausstellung des SSL/TLS-Zertifikats kommen. Erlaubt sind in der Regel nur Groß- und Kleinbuchstaben (A-Z, a-z), Zahlen (0-9) sowie einige wenige Sonderzeichen wie Bindestriche (-) oder Punkte (.).- Country Name (2 letter code): Geben Sie den Ländercode ein, zum Beispiel DE für Deutschland.
- State or Province Name: Tragen Sie Ihr Bundesland ein, zum Beispiel Niedersachsen. Verwenden Sie keine Abkürzungen oder Umlaute.
- Locality Name: Tragen Sie den Namen Ihrer Stadt ein, vermeiden Sie Umlaute und Sonderzeichen, zum Beispiel Lueneburg.
- Organization Name: Geben Sie, falls vorhanden, den vollständigen Firmennamen ein, zum Beispiel Meine Firma GmbH. Bei Einzelunternehmern tragen Sie bitte den persönlichen Namen des Einzelunternehmers ein. Vermeiden Sie Umlaute und Sonderzeichen.
- Organization Unit Name (optional): Die Angabe der Abteilung ist optional. Tragen Sie z. B. IT ein. Falls Sie das Feld leer lassen möchten, geben Sie nur einen Punkt (.) ein.
- Common Name: Geben Sie hier den primären Domainnamen ein, für den das Zertifikat gelten soll. Zum Beispiel www.ihredomain.de (oder ihredomain.de, je nachdem, was für Sie wichtiger ist). Verwenden Sie den vollständigen Hostnamen.
- Tragen Sie für ein Wildcard-Zertifikat *.domain.de ein.
- Bei einem Multi-Domain-Zertifikat müssen alle im Zertifikat enthaltenen Domain-Namen mit AltName hinzugefügt werden. Siehe hierfür den Punkt „Besonderheit bei einem Wildcard- oder Multi-Domain-Zertifikat”
- E-Mail-Adresse (optional): Geben Sie Ihre E-Mail-Adresse oder die eines Ansprechpartners ein, zum Beispiel admin@domain.de.
Beispiel:
- Country Name (2 letter code): DE
- State or Province Name: Niedersachsen
- Locality Name: Lueneburg
- Organization Name: Meine Firma GmbH
- Organization Unit Name (optional): IT
- Common Name: www.domain.de oder *.domain.de
- E-Mail-Adresse (optional): admin@domain.de
Nach Bestätigung über die Eingabetaste wird der CSR erzeugt und kann entweder per (S)FTP oder SSH heruntergeladen und Ihrem Dienstleister bereitgestellt werden.
Hinweis: Achten Sie darauf, dass der private Schlüssel NICHT unverschlüsselt per FTP übertragen wird.
- Eine Kontrolle der CSR-Einträge ist über folgenden Befehl möglich:
openssl req -text -noout -verify -in www.IHREDOMAIN.de.csr
Hinweis: Die eingegebenen Daten können nicht geändert werden. Wenn die Daten einen Fehler aufweisen, ist eine Neuerstellung der CSR-Datei erforderlich.
Besonderheit bei einem Wildcard- oder Multi-Domain-Zertifikat
Bei einem Wildcard-Zertifikat muss als Common Name *.IHREDOMAIN.de eingetragen werden.
Bei einem Multi-Domain-Zertifikat (auch SAN-Zertifikat oder UCC-Zertifikat genannt) müssen alle im Zertifikat enthaltenen Domain-Namen (Subject Alternative Names, SANs) mit AltName hinzugefügt werden.
Beispiel:
subjectAltName=DNS:sub.firma.com,DNS:www.firma.com
Syntax mit allen Angaben:
openssl req -new -key www.IHREDOMAIN.de.key -out www.IHREDOMAIN.de.csr
-subj "/C=DE/ST=Niedersachsen/L=Hannover/O=Beispiel GmbH/CN=firma.com"
-addext "subjectAltName=DNS:firma.com,DNS:www.firma.com"
Hinweis: -addext erfordert min. OpenSSL ≥ 1.1.1 – dieses ist auf allen Clustern bei maxcluster erfüllt.
Kann maxcluster eine CSR-Datei für mich erstellen?
Gerne übernehmen wir die vollständige Erstellung der CSR-Datei für Sie. Kontaktieren Sie hierfür bitte unseren Support per E-Mail unter support@maxcluster.de.
Für die Erstellung benötigen wir, wie oben beschrieben, folgende Informationen:
- Für welche Domain soll das Zertifikat ausgestellt werden?
- Handelt es sich um ein Standard-, Wildcard- oder Multi-Domain-Zertifikat?
- Bei einem Multi-Domain-Zertifikat benötigen wir alle im Zertifikat enthaltenen Domain-Namen.
- Die vollständigen CSR-Angaben - siehe obiges Beispiel.
Bei weiteren Fragen steht Ihnen unser Support unter 05251/414130 oder per E-Mail an support@maxcluster.de zur Verfügung.