Zertifizierungsstelle einrichten (OpenSSL): Unterschied zwischen den Versionen

Aus MattWiki
K (Matt verschob die Seite Zertifizierungsstelle einrichten (Debian) nach Zertifizierungsstelle einrichten (OpenSSL), ohne dabei eine Weiterleitung anzulegen)
Keine Bearbeitungszusammenfassung
Zeile 49: Zeile 49:


== Zertifikate erstellen ==
== Zertifikate erstellen ==
Siehe [[Zertifikate erstellen (Debian)]]
Siehe [[Zertifikate erstellen (OpenSSL)]]
 
[[Kategorie:Debian]]
[[Kategorie:Kryptographie]]
[[Kategorie:Kryptographie]]



Version vom 31. August 2017, 23:31 Uhr

Dieser Artikel beschreibt, wie unter Debian GNU/Linux eine selbst signierte Zertifizierungsstelle (CA = Certificate Authority) auf Basis von OpenSSL erstellt werden kann.

Vorbereitungen

Verzeichnisse für CA anlegen, z. B.:

# mkdir /root/ca
# cd /root/ca
# mkdir certs crl newcerts private
# chmod 700 private # touch index.txt
# echo 1000 > serial 

Konfiguration anpassen

Unter Debian findet sich die Default-Konfigurationsdatei für OpenSSL unter /etc/ssl/openssl.cnf. Sie kann für die eigenen Zwecke angepasst werden, z. B. indem die Default-Werte für bestimmte Felder gesetzt werden.

Beispiele:

  • Es können die Default-Werte für Land, Region oder Organization vorbelegt werden.

Zertifizierungsstellen-Schlüssel (Root CA) erstellen

Für die Stamm-Zertifizierungsstelle wird ein privater Schlüssel benötigt. Dessen Schlüssellänge sollte so angesetzt werden, dass sie in der Gültigkeitsdauer des Stammstellen-Zertifikats ausreichend Sicherheit verspricht.

Für eine Gültigkeitszeit von 10 Jahren sind 2048 Bit im Jahr 2017 vermutlich zu wenig und daher sollte eher eine Schlüssellänge von 4096 Bit benutzt werden.

Der private Schlüssel der Stamm-Zertifizierungsstelle sollte auch mit AES256 verschlüsselt werden und mit einem starken Passwort gesichert werden.

# cd /root/ca
# openssl genrsa -aes256 -out private/cakey.pem 4096

Zugriff auf den Schlüssel einschränken:

# chmod 400 private/cakey.pem

Idealerweise sollte der Schlüssel auf einer Maschine ohne Internet-Zugang offline gehalten werden.

Zertifizierungsstelle selbst signieren

Für den erstellten privaten Schlüssel der Stamm-Zertifizierungsstelle (Root CA) ein Zertifikat erstellen und dieses selbst signieren:

# openssl req -new -x509 -days 3650 -sha512 -key private/cakey.pem -out certs/cacert.pem

Zugriff auf das Stammstellen-Zertifikat einschränken:

# chmod 444 private/cacert.pem

Für das Ausstellen von Computer- und Benutzer-Zertifikaten selbst sollten aus sicherheitsgründen Zwischen-Zertifizierungsstellen verwendet werden.

Zertifikat überprüfen

Beim erstellten Zertifikat sollten folgende Informationen überprüft werden:

  • Signature Algorithm
  • Validity Not Before und Not After
  • Public Key Algorithm und Länge des Public Key
  • Issuer
  • Subject

Diese können folgendermaßen ausgegeben werden:

# openssl x509 -noout -text -in certs/ca.cert.pem

Zwischen-Zertifizierungsstelle (Intermediate CA) erstellen

Todo

Zertifikate erstellen

Siehe Zertifikate erstellen (OpenSSL)

Quellen