Manuelle Installation von CAs und Client-Zertifikaten

ITEG pflegt derzeit 3 verschiedene Hierarchien von SSL-Zertifikaten (1 intern, 2 Projekt-spezifisch). Um die damit immer häufiger nötige manuelle Installation von CAs (den Zertifikaten der Zertifizierungs-Stellen) und Client-Zertifikaten zu vereinfachen haben wir die folgenden Kurz-Anleitungen geschrieben.

Vorbemerkungen

Für Ungeduldige: Detaillierte Anleitungen je Betriebssystem bzw. Browser finden sich weiter unten.

Genereller Tip: Importier-Reihenfolge

Weg 1: Einzeln

Im allgemeinen funktioniert Weg 1 gut, und alle unseren Anleitungen beschreiten diesen Weg:

  • Zuerst die RootCA (Beim Herunterladen eher .crt als .pem nennen)
  • Dann eine SubCA (analog RootCA, bei mehreren Zwischen-Zertifikats-Stufen "von oben nach unten" abarbeiten)
  • Dann in einem Schritt Zertifikat und Key als Paket (bzw. falls der CSR lokal erstellt wurde nur das  Zertifikat)
Weg 2: PKCS12-Paket in einem Rutsch

Mit Ausnahme von Windows (das CA-Zertifikate gerne in die falsche Kategorie legt) funktioniert auch Weg 2 meist gut, ggfs. sogar besser:

  • Ganzes Zertifikats-Bundle (alle CAs, Zertifikat, und ggfs. private Key) auf einmal importieren, im PKCS12-Format als .p12-Datei importieren

Kurzinfo Datei-Formate für X.509-Zertifikatei

Eine Ausführlichere Übersicht bietet die Wikipedia-Seite zu X.509 (Überschrift "Dateinamenserweiterungen für Zertifikate").

Formatübliche Dateiendung(en)Kurzbeschreibung
PEM

.crt, .cert, .cer (nur Zertifikate oder -Ketten)
.key (nur Keys)
.csr (nur CSRs) 
.pem (Alles, einzeln oder als Paket)

PEM ist das Text-basiertes de-fakto-Standard-Format bei OpenSSL, Apache, u.v.a Open-Source-Projekten.
Es ist auch das üblichste Format für CSRs (Certificate Signing Requests).
Meist ist nur 1 Komponente in einer Datei.
Viele Daemons erlauben oder benötigen aber mehr oder alles (Root-CA und Sub-CAs, Zertifikat und Key, oder alles) in einer Datei. 
PKCS#7.p7b, .p7cBinäres Bundle-Format, gerne für CA-Chains (CA-Ketten, also Root- und Zwischen-Zeritifkate der Zertifizierungsstellen) verwendet.
PKCS#12.p12, .pfxBinäres Bundle-Format, gerne für Zertifikat samt Key (und evtl. CA-Chain) verwendet.
Von vielen GUIs, Windows, und Java-Daemons oft bevorzugt.

Anleitungen je Betriebssystem bzw. Browser

Die folgende Liste ist im Sinne der Neutralität alphabtisch sortiert ;-)

  • Android
  • Chrome standalone (z.B. unter Linux)
  • Firefox (Firefox ignoriert den Schlüsselbund des Betriebssystems bzw. Linux-Desktops, daher muss man hier alle Schritte direkt im Firefox erledigen)
  • Linux: Nur die CA-Installation unter Linux ist halbwegs vereinheitlicht. Für Client-Zertifikate bzw. Client-Applikationen gibt es aufgrund des Desktop-Wildwuchses keinen gemeinsamen Zertifikatsstore, daher für jeden Browser extra, z.B. Chrome standaloneFirefox.
  • MacOS (gemeinsamer Schlüsselbund, ausgenommen Firefox)
  • Windows (am Beispiel Windows 7)