CSR-Generator: CSR erstellen

Erstellen Sie hier auf dieser Seite eine Zertifikatsanforderung und den privaten Schlüssel, der dazugehört. Das Schlüsselpaar wird von der Web Crypto Ihres Browsers erzeugt und verlässt Ihren Rechner nie: Weder Ihre Eingaben noch ein Schlüssel werden an unseren Server oder an irgendeinen anderen gesendet.

RSA 2048/3072/4096 · ECDSA P-256/P-384/P-521 · Ed25519 · mit Web Crypto in Ihrem Browser erstellt, nie hochgeladen
Schlüsseltyp

Die vernünftige Standardwahl: so stark wie RSA 3072 und deutlich kleiner.

Für wen das Zertifikat istBei den meisten Zertifikaten optional

Der rechtliche Name Ihrer Organisation, so wie er eingetragen ist.

Schreiben Sie es aus, statt es abzukürzen.

Zwei Buchstaben, der ISO-3166-1-Code.

Was angefordert werden sollEine öffentliche CA legt diese anhand ihres eigenen Profils fest. Eine private CA verlangt sie möglicherweise.
Schlüsselverwendung
Erweiterte Schlüsselverwendung

Nur wenn Ihre CA danach gefragt hat. Die SCEP-Registrierung verwendet es; die Bestellung eines Web-Zertifikats nicht.

Das Paar wird von Ihrem Browser erstellt und nirgendwohin gesendet.

Dies sendenDie CSRWird in diesem Browser erstellt, sobald Sie auf die Schaltfläche klicken
Dies behaltenDer private SchlüsselWird in diesem Browser erstellt, sobald Sie auf die Schaltfläche klicken

Was Sie gleich sendenECDSA P-256 · SHA-256

ECDSA P-256Wird in diesem Browser erstellt, sobald Sie auf die Schaltfläche klicken
Was eine Zertifizierungsstelle daraus macht

Geben Sie einen Namen ein oder probieren Sie ein Beispiel, und diese Spalte zeigt, was eine Zertifizierungsstelle mit der Anfrage tun würde — bevor sie erstellt wird.

Das Schlüsselpaar wird von der Web Crypto Ihres Browsers erstellt, in einem Frame, der keine Verbindung aufbauen kann, und nie gesendet. Öffnen Sie das Netzwerk-Panel und beobachten Sie.

Was ist ein CSR-Generator?

Er erstellt zwei Dateien: eine Zertifikatsanforderung (CSR), die Sie an eine Zertifizierungsstelle senden, und den privaten Schlüssel, der bei Ihnen bleibt. Die Anfrage enthält Ihren öffentlichen Schlüssel und die Namen, die zertifiziert werden sollen, signiert mit dem privaten Schlüssel.

Das Format ist PKCS#10, festgelegt in RFC 2986. In der Anfrage stecken ein Antragsteller-Name, Ihr öffentlicher Schlüssel, eine Reihe von Attributen, die die alternativen Namen tragen, und eine Signatur, die mit Ihrem privaten Schlüssel über alles davon gebildet wird. Diese Eigensignatur ist der Besitznachweis: Sie zeigt, dass der Absender den Schlüssel besitzt, für den das Zertifikat ausgestellt wird.

Die beiden Dateien sind nicht austauschbar. Die Anfrage ist zum Senden gedacht — an eine CA, in ein Support-Ticket, überallhin. Der private Schlüssel nie. Auf dieser Seite wird der Schlüssel in Ihrem Browser erstellt und dort aufbewahrt. Sie müssen dem Code der Seite trotzdem vertrauen, wie bei jedem Web-Werkzeug, aber Sie können prüfen, was sie sendet: Öffnen Sie das Netzwerk-Panel und beobachten Sie, während Sie eine Anfrage erstellen.

Zwei Dateien, gemeinsam erstelltRFC 2986 · PKCS #8

Der private SchlüsselDies behalten

-----BEGIN PRIVATE KEY-----
  • Die private HälfteSigniert jetzt die Anfrage und später jede Verbindung zu Ihrem Server
  • Ihre öffentliche HälfteIn die Anfrage kopiert

Eine Kopie, auf Ihrem Rechner

Die ZertifikatsanforderungDies senden

-----BEGIN CERTIFICATE REQUEST-----
  1. Antragsteller-Name108 BytesBei den meisten Zertifikaten optional
  2. Ihr öffentlicher Schlüssel294 BytesDas eine Feld, das eine Zertifizierungsstelle sicher nutzt
  3. Die angeforderten Namen60 BytesDie alternativen Namen, als Attribut getragen
  4. Die Signatur261 BytesVom privaten Schlüssel über alles darüber gebildet

Sie enthält kein Geheimnis

Eine echte Anfrage, insgesamt 749 Bytes, neben dem Schlüssel, der sie erstellt hat. Nur die Anfrage muss Ihren Rechner je verlassen: Sie enthält die öffentliche Hälfte des Schlüssels und eine Signatur, die nur die private Hälfte erzeugen konnte.
CSR-Generator: die Antragsteller-Felder, die alternativen Namen und die fertige CSR mit ihrem privaten SchlüsselCSR-Generator: die Antragsteller-Felder, die alternativen Namen und die fertige CSR mit ihrem privaten SchlüsselDie NamenDie Hostnamen, die das Zertifikat abdecken soll. Der erste wird zum allgemeinen Namen; die übrigen kommen dazu.Der SchlüsselRSA oder eine elliptische Kurve. Das Paar wird von Ihrem Browser erstellt, vor Ihren Augen.Wer Sie sindDie Antragsteller-Felder. Eine öffentliche CA validiert diese selbst, daher bleiben nur wenige davon erhalten.Die zwei DateienDie Anfrage, die Sie senden, und der private Schlüssel, den Sie behalten. Der Schlüssel existiert nur in Ihrem Browser, bis Sie ihn speichern.Dasselbe als BefehlDie OpenSSL-Zeile, die genau diese Anfrage erstellt, falls Sie es lieber selbst tun.
Eine Anfrage entsteht: die Namen, der Schlüsseltyp und die zwei Dateien, die dabei herauskommen. Wählen Sie eine Nummer, um zu sehen, was der jeweilige Teil zeigt.

Warum den Schlüssel im Browser erstellen?

Weil ein privater Schlüssel, der auf dem Server eines anderen ankommt, die eigene Definition der Branche für einen kompromittierten Schlüssel erfüllt — gleichgültig, was dieser Server danach damit macht.

Die Baseline Requirements des CA/Browser Forum definieren es ohne Spielraum: „A Private Key is said to be compromised if its value has been disclosed to an unauthorized person, or an unauthorized person has had access to it.“ Kein Missbrauch ist nötig. Das Ankommen genügt.

Das ist nicht theoretisch. 2020 fand DigiCert 337 private Schlüssel, die Kunden zusammen mit ihren Anfragen eingefügt hatten, widerrief jedes betroffene Zertifikat und machte es öffentlich: „by sending the private key to DigiCert along with the CSR, the customer has compromised the private key“, und fügte hinzu, „the only part of a CSR we use is the public key“. Ein Generator, der den Schlüssel auf seinem eigenen Server erstellt und Ihnen eine Kopie aushändigt, hat ihn nach dieser Definition bereits kompromittiert. Diese Seite kann das nicht: crypto.subtle.generateKey läuft in Ihrem Browser, in einem Frame mit Sandbox, der keine Verbindung aufbauen darf, und die Seite darum herum sieht immer nur den öffentlichen Schlüssel.

Wo der private Schlüssel erstellt wirdCA/Browser Forum TLS BR 2.3.1

Diese Seite

Ihr Browser
  1. Web Crypto erstellt das Schlüsselpaar crypto.subtle.generateKey
  2. Der Schlüssel signiert die Anfrage
  3. Sie speichern beide Dateien
Nichts überquert diese Linie
Der Server von jemand anderem

Der Schlüssel hat nur auf Ihrem Rechner existiert

Ein Generator, der den Schlüssel auf seinem Server erstellt

Ihr Browser
  1. Ihre Namen und Angaben gehen an den Server
Der private Schlüssel überquert sie
Der Server von jemand anderem
  1. Der Server erstellt das Schlüsselpaar
  2. Der private Schlüssel wird an Sie zurückgesendet

Per Definition kompromittiert, bevor etwas installiert ist

„A Private Key is said to be compromised if its value has been disclosed to an unauthorized person, or an unauthorized person has had access to it.“

die Definition, die sich die Zertifizierungsstellen selbst gegeben haben

Es ist bereits passiertIm Jahr 2020 fand eine Zertifizierungsstelle 337 private Schlüssel, die neben Anfragen eingesendet wurdenJedes betroffene Zertifikat wurde widerrufen

Der Unterschied liegt nicht darin, wie der Schlüssel erstellt wird, sondern wo. Ein Schlüssel, der auf dem Server eines anderen war, erfüllt bereits die eigene Definition der Branche für einen kompromittierten Schlüssel, gleichgültig, was dieser Server danach damit macht.

So erstellen Sie eine CSR

Geben Sie die Hostnamen ein, wählen Sie einen Schlüsseltyp und klicken Sie auf die Schaltfläche. Alles andere ist optional — ein modernes Zertifikat wird über seine alternativen Namen identifiziert, nicht über seinen Antragsteller.

Tragen Sie jeden Namen, den das Zertifikat abdecken soll, in das Namensfeld ein: example.com, www.example.com, eine Wildcard wie *.api.example.com oder eine IP-Adresse. Der erste wird auch zum allgemeinen Namen: Hat ein Zertifikat überhaupt einen allgemeinen Namen, verlangen die Baseline Requirements, dass er genau einen der alternativen Namen wiederholt.

Land, Organisation und Ort spielen nur bei einem organisationsvalidierten oder erweitert validierten Zertifikat eine Rolle, und selbst dann muss die CA sie selbst validieren, bevor sie in ein Zertifikat gelangen. Bei einem domainvalidierten Zertifikat — wie Let's Encrypt es ausstellt — erlauben die Regeln im Antragsteller nur das Land und den allgemeinen Namen. Der Generator markiert die beiden Felder, die eine öffentliche CA entfernt oder verbietet, die Organisationseinheit und die E-Mail-Adresse, und die Spalte neben dem Formular zeigt, was sich ändern würde.

Von den Namen zu zwei Dateien/csr-generator
  1. Namen eingeben

    Jeder Host, den das Zertifikat abdecken soll; der erste wird zum allgemeinen Namen
  2. Schlüsseltyp wählen

    P-256, sofern nichts Altes ihn lesen muss
  3. Anfrage erstellen

    Ihr Browser erstellt den Schlüssel und signiert die Anfrage damit
  4. Die zwei Dateien mitnehmen

    Senden Sie die Anfrage an Ihre Zertifizierungsstelle; behalten Sie den Schlüssel
Die ganze Arbeit, so wie diese Seite sie erledigt. Alles nach den Namen ist optional: Ein modernes Zertifikat wird über seine alternativen Namen identifiziert, daher zählen die Antragsteller-Felder nur bei einer organisationsvalidierten Bestellung.

Welchen Schlüsseltyp sollte ich wählen?

ECDSA P-256 für alles Neue: Er ist so stark wie ein 3072-Bit-RSA-Schlüssel, viel kleiner und nach den Regeln erlaubt, die jede öffentliche Zertifizierungsstelle befolgt. RSA 2048, wenn ein älteres Gerät den Schlüssel lesen muss.

NIST setzt P-256 und RSA-3072 auf dieselbe Sicherheitsstärke von 128 Bit und gibt RSA-4096 überhaupt keine eigene Stärke — die nächste Stufe in seiner Tabelle sind 7680 Bit. Ein 4096-Bit-Schlüssel kostet also jeden Besucher zusätzliche Handshake-Arbeit, ohne dokumentierten Gewinn. P-384 ist die Stufe mit 192 Bit, und die Baseline Requirements erlauben auch P-521, aber Let's Encrypt lehnt P-521 ab: Eine Anfrage kann völlig zulässig sein und trotzdem bei der CA scheitern, die Sie nutzen wollten.

Ed25519 wird hier angeboten, weil es für SSH, zum Signieren und für eine private CA hervorragend ist — aber keine öffentliche Zertifizierungsstelle stellt ein TLS-Zertifikat dagegen aus. Die Regeln listen RSA und die drei NIST-Kurven auf und sagen dann „no other algorithms or key sizes are permitted“. Dasselbe gilt für das Post-Quanten-Verfahren ML-DSA: Das Ballot, das es in öffentlichem TLS erlaubt hätte, wurde im Oktober 2026 unangenommen geschlossen. Der Generator sagt das bei jeder Auswahl, statt Sie es aus einer Ablehnungs-E-Mail erfahren zu lassen.

Sicherheitsstärke, wie NIST sie tabelliertNIST SP 800-57 Part 1 Rev 5, Table 2
112 Bit128 Bit192 Bit256 Bit
RSA20483072768015360
RSA 40964096
ECDSA—P-256P-384P-521

4096 Bit: keine eigene Stufe Die Tabelle springt direkt von einer Größe zur nächsten, sodass die zusätzliche Handshake-Arbeit nichts bringt, was irgendwo dokumentiert wäre

Nicht in der Tabelle

Ed25519Keine öffentliche Zertifizierungsstelle stellt dagegen aus

ML-DSAPost-Quanten: Das Ballot, das es erlaubt hätte, wurde im Oktober 2026 unangenommen geschlossen

  • Dieselbe Stärke
  • Hier angeboten
  • In der Tabelle, hier nicht angeboten
  • Akzeptiert vonLet's Encrypt
Lesen Sie quer, nicht nach unten: P-256 und ein 3072-Bit-RSA-Schlüssel liegen auf derselben Stärke, und die Kurve schafft es mit einem Zwölftel der Schlüsselgröße. Ein Schlüssel kann innerhalb der Regeln liegen und trotzdem von der Zertifizierungsstelle abgelehnt werden, die Sie nutzen wollten.

Was in welches Feld gehört

Namen: jeder Host, den das Zertifikat abdeckt. Land: zwei Buchstaben. Organisation: Ihr rechtlicher Name, für ein OV- oder EV-Zertifikat. Alles andere ist optional, und manches ist inzwischen verboten.

Die Organisationseinheit ist verboten. Nach Ballot SC047 des CA/Browser Forum darf kein seit dem 1. September 2022 ausgestelltes öffentliches TLS-Zertifikat OU enthalten; eine CA entfernt es, statt die Bestellung abzulehnen. Eine E-Mail-Adresse im Antragsteller ist bei einem domainvalidierten Zertifikat ebenfalls nicht zulässig und bei den anderen nicht empfohlen. Dieser Generator bietet beide Felder für private CAs weiterhin an und markiert sie.

Das Land ist ein ISO-3166-1-Alpha-2-Code — US, DE, GB, IN —, kein Ländername und kein Code mit drei Buchstaben. Das Bundesland oder die Provinz sollte ausgeschrieben statt abgekürzt werden. Für ein erweitert validiertes Zertifikat brauchen Sie außerdem die Gerichtsbarkeit der Eintragung und die Registrierungsnummer, die dieser Generator anbietet.

Welche Antragsteller-Felder auf dem Zertifikat landenCA/Browser Forum TLS BR 7.1.2.7
In Ihrer AnfrageDVDomainvalidiertOVOrganisationsvalidiertEVErweiterte Validierung
Allgemeiner NameCN
LandC
OrganisationO
Ort, Bundesland oder ProvinzL, ST
Straße, Postleitzahlstreet, postalCode
OrganisationseinheitOUVerboten seit 1. September 2022
E-Mail-AdresseemailAddress
Registrierungsnummer, Geschäftskategorie, GerichtsbarkeitserialNumber, businessCategory, jurisdictionC
  • Auf dem Zertifikat, wie die CA es validiert hat
  • Erlaubt, aber nicht empfohlen
  • Nicht bei dieser Art von Zertifikat
  • Nie erlaubt
Füllen Sie nur aus, was das Zertifikat, das Sie kaufen, tragen kann: Eine Zertifizierungsstelle muss jedes Antragsteller-Feld validieren, das sie behält, und der Generator markiert die Felder, die eine öffentliche CA entfernt.

Kann ich einen Schlüssel oder eine CSR wiederverwenden?

Sie können — nichts verbietet es —, aber ein frischer Schlüssel für jedes Zertifikat kostet eine Sekunde und begrenzt, was ein einzelner durchgesickerter Schlüssel erreichen kann.

Die Baseline Requirements sagen ausdrücklich: „one certificate request MAY suffice for multiple Certificates to be issued to the same Applicant“, die Wiederverwendung einer Anfrage für eine Verlängerung ist also erlaubt. Der Preis zeigt sich, wenn etwas schiefgeht. Wird dieser Schlüssel jemals kompromittiert, muss jedes Zertifikat, das ihn trägt, innerhalb von 24 Stunden widerrufen werden, nicht nur das, um das Sie sich sorgten.

Und ein kompromittierter Schlüssel ist für immer verbrannt: Eine CA „SHALL reject a certificate request“, wenn ihr mitgeteilt wurde, dass der Schlüssel kompromittiert wurde, sodass dieser Schlüssel von keiner CA, die davon gehört hat, je wieder zertifiziert werden kann. Wenn die Zertifikatslaufzeiten 2029 auf 47 Tage sinken, würde ein wiederverwendeter Schlüssel über Jahre und Dutzende Verlängerungen hinweg signieren. Einen neuen zu erstellen dauert eine Sekunde.

Ein Schlüssel hinter mehreren ZertifikatenCA/Browser Forum TLS BR 4.9.1.1 · 6.1.1.3

Ein Schlüssel, wiederverwendet

Der Schlüssel gelangt nach außen
  • www.example.com
  • api.example.com
  • mail.example.com

3 Zertifikate innerhalb von 24 Stunden widerrufen

Und der Schlüssel kann von keiner CA, der es mitgeteilt wurde, je wieder zertifiziert werden

Ein neuer Schlüssel für jedes

  • www.example.com
  • api.example.comUnberührt
  • mail.example.comUnberührt

1 Zertifikat innerhalb von 24 Stunden widerrufen

Einen Schlüssel wiederzuverwenden ist erlaubt. Der Preis zeigt sich erst, wenn dieser Schlüssel nach außen gelangt: Alles, was ihn trägt, geht auf einmal, und der Schlüssel wird von da an abgelehnt.

Was nach dem Senden der CSR passiert

Die CA validiert die Namen, ignoriert das meiste andere und sendet ein Zertifikat zurück. Behalten Sie den privaten Schlüssel — ohne ihn lässt sich das Zertifikat nicht installieren.

Validiert werden die Namen, nicht die Datei: ein DNS-Eintrag, eine Datei auf dem Webserver oder eine E-Mail an eine Adresse der Domain. Sobald das bestanden ist, kommt das Zertifikat zurück, und die Anfrage hat keinen weiteren Nutzen — sie wird weder zum Installieren noch zum Verlängern oder Widerrufen gebraucht. Behalten müssen Sie den privaten Schlüssel, denn ohne ihn ist das Zertifikat nutzlos. Fügen Sie das Zertifikat in den CSR-Decoder ein und daneben den privaten Schlüssel, um zu prüfen, ob beide zusammenpassen, bevor Sie etwas neu starten.

Das Zertifikat wird kurzlebig sein. Ein heute ausgestelltes öffentliches TLS-Zertifikat darf 200 Tage nicht überschreiten, ab dem 15. März 2027 sind es 100 und ab dem 15. März 2029 nur noch 47. Bei diesen Laufzeiten muss die Verlängerung automatisch laufen, also über ACME — und ein ACME-Client erstellt die Anfrage für Sie, daher ist diese Seite für die Fälle gedacht, die ein Client nicht abdeckt: ein Gerät, eine Appliance, eine CA, die eine Anfrage von Hand verlangt.

Von der Anfrage zum funktionierenden ZertifikatRFC 8555 · CA/Browser Forum TLS BR 6.3.2
  1. Ihr RechnerSie senden die Anfrage
  2. Die ZertifizierungsstelleSie prüft, ob Sie jeden Namen kontrollierenEin DNS-EintragEine Datei auf dem WebserverEine E-Mail an eine Adresse der Domain
  3. Die ZertifizierungsstelleSie signiert das Zertifikat und sendet es zurück
  4. Ihr RechnerSie installieren es neben dem SchlüsselDanach hat die Anfrage keinen weiteren Nutzen
Der private Schlüssel bewegt sich nie
Wie lange das Zertifikat gelten darf
  1. 398 TageHeute in Kraft
  2. 200 Tageab 15. März 2026
  3. 100 Tageab 15. März 2027
  4. 47 Tageab 15. März 2029
Validiert werden die Namen, nicht die Datei. Das Zertifikat, das zurückkommt, ist ohne den Schlüssel nutzlos, und so kurze Laufzeiten sind der Grund, warum die Verlängerung jetzt automatisch laufen muss.

Dasselbe mit OpenSSL

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout example.com.key -out example.com.csr erstellt den Schlüssel und die Anfrage in einem Schritt.

Der Generator schreibt den Befehl für alles, was Sie ausgefüllt haben, einschließlich der alternativen Namen und jeder Erweiterung, und unsere Tests lassen ihn durch OpenSSL laufen, um zu prüfen, dass er denselben Antragsteller und dieselben Erweiterungen erzeugt wie die Seite. Mit -subj "/CN=example.com" entfallen die Rückfragen, mit -addext "subjectAltName=DNS:example.com,DNS:www.example.com" kommen die Namen hinzu, und -utf8 sorgt dafür, dass ein Name mit Umlauten erhalten bleibt. -nodes lässt den Schlüssel unverschlüsselt: OpenSSL 3 bevorzugt die neuere Schreibweise -noenc, akzeptiert aber weiterhin -nodes, die einzige Schreibweise, die das in macOS eingebaute LibreSSL kennt. Dieses LibreSSL kann überhaupt keinen Ed25519-Schlüssel erstellen; verwenden Sie dafür OpenSSL 1.1.1 oder neuer.

Um zu prüfen, was Sie erstellt haben: openssl req -in example.com.csr -text -verify -noout gibt jedes Feld aus und verifiziert die Eigensignatur, wobei es abbricht, bevor es etwas ausgibt, wenn die Signatur fehlschlägt. Um zu bestätigen, dass der Schlüssel zur Anfrage gehört, vergleichen Sie openssl req -in example.com.csr -pubkey -noout mit openssl pkey -in example.com.key -pubout. Keine Norm weist einer CSR eine Dateiendung zu, daher sind .csr, .pem, .req und .txt alle richtig.

Ein Befehl, Flag für FlagOpenSSL 3 · openssl-req(1)

openssl req -new -utf8 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout example.com.key -out example.com.csr -sha256 -subj '/CN=example.com' -addext 'subjectAltName=DNS:example.com,DNS:www.example.com'

  1. openssl req -newEine CSR erstellen
  2. -utf8Den Antragsteller als UTF-8 lesen, damit ein Name mit Umlauten erhalten bleibt
  3. -newkey… und ein neues Schlüsselpaar dazu
  4. -pkeyoptAuf der Kurve P-256
  5. -nodesDie Schlüsseldatei unverschlüsselt lassen (OpenSSL 3.0 schreibt es auch -noenc)
  6. -keyoutWohin der private Schlüssel geschrieben wird
  7. -outWohin die Anfrage geschrieben wird
  8. -sha256Der Hash, mit dem die Anfrage signiert wird
  9. -subjDer Antragsteller, damit keine Rückfragen kommen
  10. -addextDie alternativen Namen

Zurücklesen und die eigene Signatur verifizierenopenssl req -in example.com.csr -text -verify -noout

Gehört der Schlüssel zur Anfrage? Die beiden Ausgaben müssen identisch seinopenssl req -in example.com.csr -pubkey -nooutopenssl pkey -in example.com.key -pubout

Der Befehl, den diese Seite für ihr erstes Beispiel schreibt, auseinandergenommen. Der Generator schreibt dieselbe Zeile für alles, was Sie ausfüllen, mit jedem Namen und jeder Erweiterung, die die Anfrage trägt.

Eine CSR unter Windows, IIS und macOS erstellen

Windows hat certreq und eine .inf-Datei; macOS hat Keychain Access. Beide haben eine Falle, die man vor dem Start kennen sollte.

Unter Windows liest certreq -new request.inf request.req eine Datei, deren Abschnitt [NewRequest] den Antragsteller und die Schlüssellänge festlegt und deren alternative Namen unter der OID 2.5.29.17 mit _continue_-Zeilen in [Extensions] stehen — es gibt keinen Schlüssel SAN=, ein leicht gemachter Fehler. Die Referenzseite von Microsoft selbst warnt, dass ihr Beispiel SHA-1 verwendet, und Let's Encrypt lehnt eine mit SHA-1 signierte Anfrage ab, setzen Sie den Hash also selbst.

Auf einem Mac schreibt Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority eine; Schlüsseltyp und -größe stecken hinter dem Kästchen „Let me specify key pair information“, und RSA-Schlüssel unter 2048 Bit werden nicht mehr angeboten. Keiner der beiden Wege macht alternative Namen einfach, weshalb ein Befehl oft der leichtere Weg ist.

Eine ohne Browser erstellenMicrosoft Learn · Apple Support

certreqWindows Server und IIS

certreq liest eine reine Textdatei und schreibt die Anfragecertreq -new request.inf request.req
request.inf
[NewRequest]Subject = "CN=example.com"KeyAlgorithm = RSAKeyLength = 2048HashAlgorithm = sha256RequestType = PKCS10[Extensions]2.5.29.17 = "{text}"_continue_ = "DNS=example.com&"_continue_ = "DNS=www.example.com"

Die alternativen Namen: eine Erweiterung, benannt nach ihrer OID, ein Name pro Zeile

Setzen Sie den Hash selbst: Microsofts eigenes Beispiel ist um SHA-1 herum geschrieben, das eine Zertifizierungsstelle ablehnt

Es gibt keinen Schlüssel SAN=

Keychain AccessmacOS

Keychain Access schreibt eine über den Certificate Assistant
  1. Keychain Access
  2. Certificate Assistant
  3. Request a Certificate From a Certificate Authority
Ihr Mac benennt diese Menüs in seiner eigenen Sprache

Let me specify key pair information

Schlüsseltyp und -größe stecken hinter diesem KästchenRSA bis 4096; unter 2048 wird nicht mehr angeboten
Beide Wege erstellen den Schlüssel auf Ihrem eigenen Rechner, und darauf kommt es an. Keiner macht alternative Namen einfach, weshalb ein Befehl oft der leichtere Weg ist.

Ist ein Online-CSR-Generator sicher?

Das hängt ganz davon ab, wo der Schlüssel erstellt wird. Eine Seite, die ihn in Ihrem Browser erstellt, ist sicher; eine Seite, die ihn auf ihrem Server erstellt, hatte Zugriff auf Ihren privaten Schlüssel.

Der Test ist einfach, und Sie können ihn selbst machen: Öffnen Sie das Netzwerk-Panel Ihres Browsers, erstellen Sie eine Anfrage und beobachten Sie. Wird der Schlüssel auf der Seite erstellt, geht weder er noch etwas, das Sie eingegeben haben, hinaus: Hier gibt es nur Anfragen für die Seite selbst und zwei öffentliche Namenslisten, die für jeden Besucher gleich sind. Geht eine Anfrage hinaus und kommt ein Schlüssel zurück, existierte dieser Schlüssel zuvor woanders und ist nach der eigenen Definition der Branche kompromittiert, noch bevor Sie ihn installiert haben.

Diese Seite erledigt ihre gesamte Arbeit im Browser: Das Schlüsselpaar stammt von crypto.subtle.generateKey in einem Frame mit Sandbox, der keine Verbindung aufbauen darf, die Seite schreibt die Anfrage um den öffentlichen Schlüssel herum, und der Frame signiert sie einmal mit dem privaten Schlüssel, der ihn nie verlässt. Die zwei Dateien erscheinen in Ihrem Browser und sonst nirgends. Möchten Sie keiner Webseite dabei vertrauen, erledigt der OpenSSL-Befehl auf dieser Seite dasselbe auf Ihrem eigenen Rechner — genau dafür zeigen wir ihn.

Das Netzwerk-Panel, während ein Schlüssel erstellt wirdEntwicklertools › Netzwerk

Diese Seite

AnfrageWas sie trägt
GETtlds.jsonDie Liste der Top-Level-Domains — für jeden Besucher gleich
GETsuffixes.jsonDie Liste öffentlicher Suffixe — für jeden Besucher gleich

Nichts, was Sie eingegeben haben, und kein Schlüssel verlässt die Seite

Ein Generator, der den Schlüssel auf seinem Server erstellt

AnfrageWas sie trägt
POST…/generateIhre Namen und Angaben
200-----BEGIN PRIVATE KEY-----Ein privater Schlüssel, anderswo erstellt

Ein Schlüssel kommt über das Netzwerk zurück: Er existierte zuvor woanders

Probieren Sie es: Öffnen Sie die Entwicklertools Ihres Browsers auf dem Tab Netzwerk und erstellen Sie eine Anfrage. Außer dem eigenen Code der Seite lädt sie zwei öffentliche Listen, die für jeden Besucher gleich sind; der Schlüssel entsteht mit der eigenen Kryptografie Ihres Browsers, in einem Frame, der keine Verbindung aufbauen darf.

CSR-Generator: Fragen und Antworten

Wie erstelle ich eine CSR?

Geben Sie die Hostnamen ein, die das Zertifikat abdecken soll, wählen Sie einen Schlüsseltyp — ECDSA P-256 ist die vernünftige Standardwahl — und klicken Sie auf die Schaltfläche. Es entstehen zwei Dateien: die CSR, die Sie an Ihre Zertifizierungsstelle senden, und der private Schlüssel, den Sie behalten. Alles geschieht in Ihrem Browser, daher wird nichts hochgeladen und nichts gespeichert.

Ist es sicher, eine CSR online zu erstellen?

Das hängt davon ab, wo der Schlüssel erstellt wird. Erstellt ihn die Seite auf ihrem eigenen Server, hatte dieser Server Zugriff auf Ihren privaten Schlüssel, was die eigene Definition des CA/Browser Forum eine Kompromittierung nennt. Erstellt die Seite ihn in Ihrem Browser, verlässt er ihn nie. Diese hier macht Letzteres, und Sie können es bestätigen: Öffnen Sie das Netzwerk-Panel und beobachten Sie, während Sie eine Anfrage erstellen.

Welchen Schlüsseltyp soll ich wählen?

ECDSA P-256 für alles Neue. NIST stuft ihn auf dieselbe Stärke von 128 Bit ein wie einen 3072-Bit-RSA-Schlüssel, und er ist viel kleiner, daher wird jeder Handshake günstiger. Wählen Sie RSA 2048, wenn ein älteres Gerät oder ein Load Balancer es verlangt. RSA 4096 bringt gegenüber 3072 nichts Dokumentiertes, und Let's Encrypt akzeptiert P-521 nicht, obwohl die Regeln es erlauben.

Kann ich einen Ed25519-Schlüssel für ein öffentliches Zertifikat verwenden?

Nein, keine öffentliche Zertifizierungsstelle stellt dagegen aus. Die Baseline Requirements listen RSA und die Kurven P-256, P-384 und P-521 auf und fügen hinzu, dass „no other algorithms or key sizes are permitted“. Ed25519 wird hier angeboten, weil er für SSH, zum Signieren und für eine private CA richtig ist — aber eine öffentliche TLS-Bestellung dagegen wird abgelehnt.

Wofür ist die Datei mit dem privaten Schlüssel?

Sie ist die Hälfte des Paars, die beweist, dass das Zertifikat Ihnen gehört, und sie geht an niemanden. Speichern Sie sie neben der Anfrage; Sie brauchen sie, um das Zertifikat zu installieren, das die CA zurücksendet, und ohne sie ist das Zertifikat nutzlos. Verlieren Sie sie, hilft nur ein neuer Schlüssel, eine neue Anfrage und ein neues Zertifikat.

Muss ich Organisation und Land ausfüllen?

Nur bei einem organisationsvalidierten oder erweitert validierten Zertifikat, und selbst dann muss die CA sie selbst validieren, bevor sie in ein Zertifikat gelangen. Bei einem domainvalidierten Zertifikat erlauben die Regeln im Antragsteller nur das Land und den allgemeinen Namen — alles andere darf nicht erscheinen. Der Generator markiert die beiden Felder, die eine öffentliche CA entfernt oder verbietet: die Organisationseinheit und die E-Mail-Adresse.

Warum warnt mich das Feld für die Organisationseinheit?

Weil OU in einem öffentlichen TLS-Zertifikat verboten ist. Nach Ballot SC047 des CA/Browser Forum darf kein seit dem 1. September 2022 ausgestelltes öffentliches TLS-Zertifikat es enthalten, daher entfernen Zertifizierungsstellen es aus der Bestellung, statt sie abzulehnen. Dieser Generator bietet das Feld für private CAs weiterhin an und sagt Ihnen, was eine öffentliche damit macht.

Kann ich mehr als eine Domain in eine CSR aufnehmen?

Ja — dafür sind die Subject Alternative Names da, und so wird ein Multi-Domain- oder SAN-Zertifikat bestellt. Fügen Sie jeden Host hinzu, den das Zertifikat abdecken soll, auch die Form mit www, wenn Sie sie möchten. Sie können Wildcards und einfache Namen mischen und IP-Adressen hinzufügen, wobei nicht jede CA Zertifikate für eine Adresse verkauft.

Kann ich eine CSR oder einen Schlüssel für das nächste Zertifikat wiederverwenden?

Sie dürfen: Die Regeln sagen, dass eine Anfrage für mehrere Zertifikate desselben Antragstellers genügen darf. Der Grund, es nicht zu tun, ist die Reichweite des Schadens. Wird dieser Schlüssel jemals kompromittiert, muss jedes Zertifikat, das ihn trägt, innerhalb von 24 Stunden widerrufen werden, und der Schlüssel kann von keiner CA, der es mitgeteilt wurde, je wieder zertifiziert werden. Einen frischen zu erstellen dauert eine Sekunde.

Was ist ein Challenge Password?

Ein optionales Attribut aus RFC 2985, gedacht als gemeinsames Geheimnis, das Sie bei einem späteren Widerruf nennen. Es wird bei der SCEP-Registrierung von Geräten noch verwendet, und manche Zertifikatsdienste von Microsoft verlangen eines. Bei einer gewöhnlichen Bestellung eines Web-Zertifikats spielt es keine Rolle, lassen Sie es also leer, sofern Ihre CA nicht ausdrücklich danach gefragt hat.

Funktioniert das auch für ein Wildcard-Zertifikat?

Ja. Tragen Sie *.example.com in die Namen ein und fügen Sie example.com hinzu, wenn die nackte Domain abgedeckt sein soll — eine Wildcard ersetzt genau ein Label und passt nicht auf den Namen, unter dem sie steht. Der Stern muss das gesamte am weitesten links stehende Label sein, und keine CA stellt eine Wildcard über einem öffentlichen Suffix wie *.co.uk aus.

Was mache ich danach mit den Dateien?

Senden Sie die Anfrage an Ihre Zertifizierungsstelle und bewahren Sie den privaten Schlüssel sicher auf, nur für Sie lesbar (Modus 600 unter Linux und macOS). Kommt das Zertifikat zurück, fügen Sie es und die Anfrage in den CSR-Decoder ein, um zu bestätigen, dass beide denselben Schlüssel teilen, bevor Sie etwas neu starten — ein Schlüssel, der nicht zu seinem Zertifikat passt, ist ein Fehler, den Sie bemerken wollen, bevor Ihr Server es tut.

Fehlt Ihnen etwas?Funktion oder neues Tool vorschlagen