Ein CSR (Certificate Signing Request) ist ein Block kodierter Daten, den Sie an eine Zertifizierungsstelle (CA) senden, um ein SSL-Zertifikat zu beantragen. Er enthält Ihren öffentlichen Schlüssel und Domain-Informationen. Die CA verwendet diese Daten, um Ihr Zertifikat zu erstellen.
Was in einem CSR enthalten ist
| Feld | Beispiel | Erforderlich? |
|---|---|---|
| Common Name (CN) | example.com | Ja |
| Öffentlicher Schlüssel | Ihr RSA- oder ECDSA-Schlüssel | Ja |
| Schlüsselalgorithmus | ECDSA P-256 oder RSA 2048 | Ja |
| Organisation | Ihre Firma GmbH | Optional für DV |
| Land | DE | Optional für DV |
| SANs | www.example.com, api.example.com | Für Multi-Domain |
Für DV-Zertifikate (wie Let’s Encrypt) sind nur der/die Domainname(n) und der öffentliche Schlüssel relevant. Die organisatorischen Felder werden ignoriert.
Wie die CSR-Erstellung funktioniert
- Schlüsselpaar generieren — einen privaten Schlüssel und einen öffentlichen Schlüssel
- CSR erstellen — den öffentlichen Schlüssel + Domain-Informationen in ein standardisiertes Format kodieren (PKCS#10)
- CSR signieren — mit dem privaten Schlüssel signieren (beweist, dass Sie den passenden privaten Schlüssel besitzen)
- An die CA senden — die CA überprüft Ihren Domainbesitz und verwendet dann den CSR, um Ihr Zertifikat zu erstellen
Der private Schlüssel verlässt niemals Ihr System. Der CSR enthält nur den öffentlichen Schlüssel.
GetHTTPS erledigt CSR automatisch
Mit herkömmlichen Tools würden Sie einen CSR manuell mit OpenSSL generieren:
# Der manuelle Weg (nicht erforderlich mit GetHTTPS)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=example.com"
Mit GetHTTPS sehen oder berühren Sie den CSR nie. Das Tool:
- Generiert das Schlüsselpaar in Ihrem Browser (Web Crypto API)
- Erstellt den CSR automatisch aus Ihrer Domain-Eingabe
- Sendet ihn als Teil des ACME-Ablaufs an Let’s Encrypt
- Gibt Ihnen das signierte Zertifikat zum Download
Der CSR ist ein interner Schritt — Sie geben einfach Ihre Domain ein und erhalten ein Zertifikat.
CSR manuell generieren (wenn nötig)
Wenn Sie einen eigenständigen CSR benötigen (für eine kommerzielle CA oder eine Plattform, die einen Upload erfordert), gehen Sie wie folgt vor:
ECDSA P-256 (empfohlen)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=example.com"
RSA 2048
openssl req -new -newkey rsa:2048 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=example.com"
Mit mehreren Domains (SAN)
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=example.com" \
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"
CSR überprüfen
openssl req -in csr.pem -noout -text
Dies zeigt den/die Domainnamen, den Schlüsselalgorithmus und die Schlüsselgrösse, die im CSR eingebettet sind.
CSR im ACME-Protokoll
Im ACME-Protokoll (verwendet von Let’s Encrypt) wird der CSR im Finalisierungs-Schritt gesendet — nachdem die Domain-Validierung bestanden ist. Die CA verwendet den öffentlichen Schlüssel aus dem CSR, um Ihr Zertifikat zu erstellen. Das CSR-Format ist PKCS#10, als base64url in der ACME-JSON-Nachricht kodiert.
Mit GetHTTPS geschieht dieser gesamte Prozess in JavaScript unter Verwendung der Web Crypto API und der pkijs-Bibliothek. Sie sehen niemals die rohen CSR-Bytes.
Häufig gestellte Fragen
Muss ich die CSR-Datei aufbewahren?
Nein. Der CSR wird nur während der Zertifikatsanforderung verwendet. Nachdem die CA Ihr Zertifikat ausgestellt hat, dient der CSR keinem Zweck mehr. Bewahren Sie Ihren privaten Schlüssel und Ihr Zertifikat auf — den CSR können Sie verwerfen.
Kann ich einen CSR für die Erneuerung wiederverwenden?
Technisch ja, aber es ist besser, für jede Erneuerung ein neues Schlüsselpaar und einen neuen CSR zu generieren. Dies folgt dem Prinzip der Schlüsselrotation und begrenzt die Gefährdung, falls ein Schlüssel kompromittiert wird.
Was ist der Unterschied zwischen einem CSR und einem Zertifikat?
Ein CSR ist eine Anfrage — er enthält Ihren öffentlichen Schlüssel und bittet die CA, ihn zu signieren. Ein Zertifikat ist das Ergebnis — es ist die signierte Bestätigung der CA, dass Ihr öffentlicher Schlüssel zu Ihrer Domain gehört. Der CSR ist die Eingabe; das Zertifikat ist die Ausgabe.
Kann ich einen CSR für eine Wildcard-Domain generieren?
Ja. Verwenden Sie *.example.com als Common Name:
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
-keyout privkey.pem -out csr.pem -nodes \
-subj "/CN=*.example.com"
Mit GetHTTPS müssen Sie keinen CSR manuell generieren — geben Sie *.example.com als Domain ein und GetHTTPS erledigt den CSR automatisch.
Was bedeutet „Key Usage” in einem CSR?
Key-Usage-Erweiterungen legen fest, wofür das Zertifikat verwendet werden kann — typischerweise „Digital Signature” und „Key Encipherment” für TLS-Zertifikate. GetHTTPS und die meisten ACME-Clients setzen diese standardmässig korrekt. Sie müssen sich nur um Key Usage kümmern, wenn Sie CSRs manuell für eine kommerzielle CA mit spezifischen Anforderungen erstellen.