Sie befinden sich im Service: Public-Key-Zertifikate

Eine CSR mit OpenSSL generieren

Eine CSR mit OpenSSL generieren

Anleitung

Auf dieser Seite erfahren Sie, wie Sie eine Certificate-Signing-Request-Datei (CSR) mit OpenSSL generieren.


CSR mit einem neuen Schlüsselpaar erzeugen

Linux/Unix

Schritt 1
Erzeugen Sie ein neues RSA Schlüsselpaar (z.B. Modulo 4096 Bits) mit openssl. In diesem Fall wird die Schlüsseldatei nicht verschlüsselt abgelegt, deshalb nicht empfohlen!

openssl genrsa -out private.pem 4096

Bessere Variante mit verschlüsselter Ablage der Schlüsseldatei:

openssl genrsa -aes128 -passout pass:<passwordgoeshere> -out private.pem 4096

Weitere Informationen zur empfohlenen Schlüssellängen findet man in den Technischen Richtlinien des BSI bzw. auf der Webseite Cryptographic Key Length Recommedation.

Schritt 2
Generieren Sie einen neuen Zertifikatsantrag (CSR) mit openssl (interaktiv):

openssl req -new -key private.pem -out request.pem

Bitte beachten Sie dabei folgende Attribute, für die jeweilige PKI. Bitte beachten Sie die exakte Schreibweise!

PKIAttributKürzelBeispiele
alle PKIsLand (Country Name)CDE

nicht für DFN Grid-PKI

Bundesland (State or Province Name)STNordrhein-Westfalen
nicht für DFN Grid-PKI
nicht für Harica
Ort (Locality Name)LAachen
Sectigo/HaricaOrganisation (Organization Name)ORWTH Aachen University
DFN-Verein Community PKIOrganisation (Organization Name)ORWTH Aachen
DFN Grid-PKIOrganisation (Organization Name)OGridGermany
nur für DFN Grid-PKIOrganisational Unit (Organisationseinheit)OURWTH Aachen
alle PKIsgebräuchlicher Name (Common Name)CNwww.rz.rwth-aachen.de

pop3.test.rwth-aachen.de

Bitte beachten Sie, dass RFC-Konform die Angabe nur eines CNs ist. Wenn es mehrere FQDNs mit dem gleichen Zertifikat abgedeckt werden sollen, müssen diese als subjectAltNames eingegeben werden. Dies können Sie mit folgendem OpenSSL Befehl unter Unix/Linux erreichen:

für die Harica PKI

openssl req -new -utf8 -key private_key.pem -out request.pem -batch -subj "/C=DE/ST=Nordrhein-Westfalen/O=RWTH Aachen University/CN=fqdn1.domain.rwth-aachen.de" -addext "subjectAltName=DNS:fqdn1.domain.rwth-aachen.de,DNS:fqdn2.domain.rwth-aachen.de"

für die Sectigo PKI

openssl req -new -key private_key.pem -out request.pem -batch -subj "/C=DE/ST=Nordrhein-Westfalen/L=Aachen/O=RWTH Aachen University/CN=fqdn1.domain.rwth-aachen.de" -addext "subjectAltName=DNS:fqdn1.domain.rwth-aachen.de,DNS:fqdn2.domain.rwth-aachen.de"

für die DFN-Verein Community PKI

openssl req -new -key private_key.pem -out request.pem -batch -subj "/C=DE/ST=Nordrhein-Westfalen/L=Aachen/O=RWTH Aachen/CN=fqdn1.domain.rwth-aachen.de" -addext "subjectAltName=DNS:fqdn1.domain.rwth-aachen.de,DNS:fqdn2.domain.rwth-aachen.de"

für die DFN Grid-PKI

openssl req -new -key private_key.pem -out request.pem -batch -subj "/C=DE/O=GridGermany/OU=RWTH Aachen/CN=fqdn1.domain.rwth-aachen.de" -addext "subjectAltName=DNS:fqdn1.domain.rwth-aachen.de,DNS:fqdn2.domain.rwth-aachen.de"

Windows

Schritt 1
Generieren Sie die Datei csr.conf mit folgenden Angaben (exemplarisch für die Sectigo PKI):

  • prompt = no
  • distinguished_name = req_distinguished_name
  • req_extensions = req_ext
  • [req_distinguished_name]
    • C=DE
    • ST=Nordrhein-Westfalen
    • L=Aachen
    • O=RWTH Aachen University
    • CN=name1.domain.rwth-aachen.de
  • [req_ext]
    • subjectAltName = @alt_names
  • [alt_names]
    • DNS.1 = name1.domain.rwth-aachen.de
    • DNS.2 = name2.domain.rwth-aachen.de

Schritt 2
Geben Sie den OpenSSL Befehl ein:

openssl req -new -key private.pem -config csr.conf -out request.pem

CSR mit einem bestehenden Schlüsselpaar erzeugen

Die Wiederbenutzung eines RSA Schlüsselpaares ist nicht empfohlen.

Wenn es jedoch technisch notwendig ist (z.B. Key Pinning) dann erfolgt die Erzeugung eines neun Certificate Signing Request (CSR) (new_request.pem) anhand eines bestehendes Zertifikats (cert.crt) und der bestehenden Private-Key-Datei (private.pem) wie folgt:

openssl x509 -x509toreq -in cert.crt -signkey private.pem -out new_request.pem

Die generierte CSR Datei kann man wie folgt lesen:

openssl req -noout -text -in new_request.pem

Nächste Schritte:

zuletzt geändert am 26.02.2026

Wie hat Ihnen dieser Inhalt geholfen?

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland Lizenz