Zertifizierungsstelle einrichten (OpenSSL): Unterschied zwischen den Versionen

Aus MattWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 9: Zeile 9:
  # echo 1000 > serial  
  # echo 1000 > serial  
Unter Debian findet sich die Default-Konfigurationsdatei für OpenSSL unter <code>/etc/ssl/openssl.cnf</code>. Sie kann für die eigenen Zwecke angepasst werden, z. B. indem die Default-Werte für bestimmte Felder gesetzt werden. Beispiele:
Unter Debian findet sich die Default-Konfigurationsdatei für OpenSSL unter <code>/etc/ssl/openssl.cnf</code>. Sie kann für die eigenen Zwecke angepasst werden, z. B. indem die Default-Werte für bestimmte Felder gesetzt werden. Beispiele:
== Stamm-Zertifizierungsstelle (Root CA) erstellen ==
Für die Stamm-Zertifizierungsstelle sollte eine Schlüssellänge angesetzt werden, die für die Gültigkeitsdauer des Stammstellen-Zertifikats ausreichend Sicherheit verspricht. Daher sind 2048 Bit in 2017 vermutlich zu wenig und es sollten daher eher 4096 Bit benutzt werden.
Der private Key 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.
Für das Ausstellen von Zertifikaten sollten Zwischen-Zertifizierungsstellen verwendet werden.
== Zwischen-Zertifizierungsstelle (Intermediate CA) erstellen ==
Todo


== Computer-Zertifikat erstellen ==
== Computer-Zertifikat erstellen ==

Version vom 31. August 2017, 23:19 Uhr

Dieser Artikel beschreibt, wie unter Debian GNU/Linux eine 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 

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:

Stamm-Zertifizierungsstelle (Root CA) erstellen

Für die Stamm-Zertifizierungsstelle sollte eine Schlüssellänge angesetzt werden, die für die Gültigkeitsdauer des Stammstellen-Zertifikats ausreichend Sicherheit verspricht. Daher sind 2048 Bit in 2017 vermutlich zu wenig und es sollten daher eher 4096 Bit benutzt werden.

Der private Key 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.

Für das Ausstellen von Zertifikaten sollten Zwischen-Zertifizierungsstellen verwendet werden.

Zwischen-Zertifizierungsstelle (Intermediate CA) erstellen

Todo

Computer-Zertifikat erstellen

Privaten Schlüssel "cert.key" mit Schlüssellänge 2048 Byte erstellen:

openssl genrsa -out cert.key 2048

Für Server-Zertifikate ist es bei der Beantwortung der Fragen notwendig, als Common Name den Hostnamen des Servers einzugeben. Als Anhaltspunkt kann der Name verwendet werden, der im Browser für den Zugriff auf den Server verwendet wird. Dies kann der Servername im lokalen Netzwerk, der Full Qualified Domain Name (FQDN) oder die IP-Adresse des Servers sein.

Zertifikatsanfrage (CSR = Certificate Signing Request) erstellen:

openssl req -new -key cert.key -out cert.csr -sha256

Quellen