Certificate Signing Request

digitaler Antrag, mittels einer digitalen Signatur aus einem öffentlichen Schlüssel ein digitales Zertifikat zu erstellen

Ein Certificate Signing Request (CSR; deutsch „Zertifikatsignierungsanforderung“) oder Certification Request ist ein digitaler Antrag, mittels einer digitalen Signatur aus einem öffentlichen Schlüssel und der Identitäts-Information des Antragstellers ein digitales Identitäts-Zertifikat (auch Public-Key-Zertifikat genannt) zu erstellen.

Ein Certificate Signing Request dient dazu, bei einer Zertifizierungsstelle für X.509-Zertifikate (CA) ein Zertifikat für den öffentlichen Schlüssel des Besitzers zu beantragen, wobei der private Schlüssel des Besitzers geheim bleibt.[1]

  1. Hierzu erzeugt der Besitzer ein Schlüsselpaar (einen privaten Schlüssel und einen öffentlichen Schlüssel).
  2. Der Besitzer erzeugt eine CSR-Datei, welche im Wesentlichen ein elektronisches Antragsformular ist. Es enthält neben der Identität des Besitzers (Antragsdaten) auch seinen öffentlichen Schlüssel.
  3. Der Besitzer sorgt für den sog. Proof-of-Possession (Besitz-Nachweis für den zugehörigen privaten Schlüssel), meist in Form einer Selbstsignatur des Antrags.
  4. Der Besitzer (= Antragsteller) sendet den CSR an die Registrierungsstelle zur Prüfung.
  5. Die Registrierungsstelle prüft den Antrag (also die CSR-Datei mit den Formularangaben und dem enthaltenden öffentlichen Schlüssel) und gibt ihn bei positivem Ausgang an die Zertifizierungsstelle weiter.
  6. Die Zertifizierungsstelle stellt dem Antragsteller ein neues öffentliches Zertifikat aus, indem sie eine entsprechende X.509 Datenstruktur mit ihrem privaten Schlüssel signiert, und sendet es (meist wieder über die Registrierungsstelle) an den Antragsteller (= Besitzer).

Formulardaten

Bearbeiten

Ein Industriestandard für X.509 CSRs ist PKCS #10.[2] Hingegen ist CRMF weniger verbreitet, aber flexibler. Es erlaubt neben der Selbstsignatur auch andere Arten des Proof-of-Possession, etwa für DH- und KEM-Schlüssel, mit denen man nur Schlüssel vereinbaren bzw. ver- und entschlüsseln, aber nicht signieren kann.

Die Anforderung wird meist unter Verwendung des privaten Schlüssels des Antragstellers erzeugt und besteht aus dem öffentlichen Schlüssel, einem differenzierten Namen und optionalen Attributen. Name und Attribute werden beispielsweise in folgendem Dialog abgefragt:

Country Name (2 letter code) [AU]: DE
State or Province Name (full name) [Some-State]: Bayern
Locality Name (eg, city) []: Ingolstadt
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Beispiel e.V.
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []: www.example.net
Email Address []: webmaster@example.net

Dieses Beispiel von OpenSSL bezeichnet den Haupt-Namen des Antragstellers als Common Name. Aus einem Zertifikat und dem zugehörigen privaten Schlüssel des Antragstellers kann seine Anforderung teilweise rekonstruiert werden.[3]

Der Antrag kann im druckbaren Format PEM oder als Binärdatei im Format DER erstellt werden. Die Anforderung wird meist über eine Registrierungsstelle an eine Zertifizierungsstelle (englisch certification authority) (CA) gesendet.[2]

Normen und Standards

Bearbeiten
  • RFC: 2314 – PKCS #10: Certification Request Syntax Version 1.5. (veraltet, englisch).
  • RFC: 2986 – Certification Request Syntax Specification Version 1.7. (englisch).
  • RFC: 4210 – Certificate Management Protocol (CMP). (englisch).
  • RFC: 4211 – Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF). (englisch).
  • RFC: 5967 – The application/pkcs10 Media Type. (Ergänzungen, englisch).

Literatur

Bearbeiten
  • Reiko Kaps: Noch ein Sargnagel. Wie CAs das Vertrauen in die SSL-Technik weiter untergraben. In: c’t. Nr. 12, 2014, S. 46 f. (heise.de [abgerufen am 24. März 2024] Problembeschreibung und Lösung per CSR).
  • Jan Mahn: Grundwissen: asymmetrische Kryptografie in der Praxis, Teil 2. In: c’t. Nr. 4, 2024, S. 130 ff. (heise.de [abgerufen am 24. März 2024] CSR Hintergründe und Syntax; heise+-Link).
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Reiko Kaps: Noch ein Sargnagel. Wie CAs das Vertrauen in die SSL-Technik weiter untergraben. In: c’t. Nr. 12, 2014, S. 46 f. (heise.de [abgerufen am 25. November 2018]).
  2. a b RFC: 2986 – PKCS #10: Certification Request Syntax Specification – Version 1.7. November 2000 (englisch).
  3. How to turn a X509 Certificate in to a Certificate Signing Request. University of Wisconsin, Madison, 13. August 2010, archiviert vom Original am 23. November 2015; abgerufen am 22. November 2015 (englisch).  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/kb.wisc.edu