silvesterlangen.de

Seite
Menü

Die eigene CA

Erstellen wir zunächst mal die eigene CA, denn ohne Sie gibt es keine Zertifikate.

 

Installation von openSSL

Die Installation ist wie immer ein Kinderspiel, wenn man die Repo der Distribution nutzt. Unter Debian mit apt-get install openssl oder unter Centos mit yum install openssl installiert man openSSL auf dem Server

 

Der private Schlüssel des Servers

Der private Schlüssel ist die Grundlage. Aus dem wird der öffentliche Schlüssel generiert und mit weiteren Informationen versehen, um am Ende ein CSR zu haben, welches man in der Zertifizierungsstelle einreichen kann. Die Erstellung des privaten Schlüssels für den Server ist denkbar einfach.

openssl genrsa -out $HOSTNAME-server.key 4096

Ich verwende hier den Hostnamen des Servers (s1227), um später genau zu wissen welcher priv.Key zu welchem Server gehören. Es schafft einfach Klarheit. Wichtig ist, dass der private Schlüssel unbedingt so aufbewahrt wird, dass niemand an ihn heran kommt. Entsprechender Lagerort und Zugriffsberechtigung sollte selbstverständlich sein.

 

Die CSR (Certificate Signing Request)

Nun erstellen wir mit Hilfe des priv. Schlüssels den öffentlichen Teil samt zusätzlicher Informationen, sodass die Zertifizierungsstelle (CA) den Schlüssel signieren kann.

openssl req -new -key s1227-server.key -out $HOSTNAME-server.csr

Nun wird man nach einigen Angaben "interviewed" . Wichtig ist hier aber nur der FQDN, wenn man selbst signieren will. In meinem Beispiel habe ich silvesterlangen.de eingegeben.

Wollten wir nun ein Zertifikat bei einem öffentlichen Anbieter (CA) signieren lassen, so könnte man nun die CSR-Datei dazu verwenden. Da wir aber eine eigene CA wollen, müssen wir diese erst mal erstellen.

Bis hier hin muss man für alle Server diese Schritte ausführen, die ein signiertes Zertifikat erhalten sollen.

 

Die eigene CA erstellen

Der Priv-Key der CA
Auch die eigene CA braucht einen privaten Schlüssel. Mit diesem generieren wir gleich danach das selbstsignierte Stammzertifikat (RootCA).

openssl genrsa -aes256 -out $HOSTNAME-ca.key 4096

Das angeforderte Passwort sollte nach den üblichen Passwortrichtlinien gestaltet und mindestens 12 Zeichen lang sein. Immerhin ist es der Priv-Key der CA.

 

Das Stammzertifikat erstellen
Nun generieren wir uns einen temporären Zertifikatsantrag für unsere CA und machen sie durch Eigenbeglaubigung gültig.

openssl req -x509 -new -extensions v3_ca -key s1227-ca.key -days 1461 \
-out $HOSTNAME-ca.crt -sha512

Zunächst wird das Passwort der Priv-Keys erfragt bevor es dann zu den Angaben des Stammzertifikats geht.

Das Serverzertifikat signieren
Wir sind jetzt fast fertig und müssen das Zertifikat nur noch signieren. Das geschieht so:

openssl x509 -req -in $HOSTNAME-server.csr -CA $HOSTNAME-ca.crt -CAkey $HOSTNAME-ca.key -CAcreateserial -out $HOSTNAME-server.crt \
-days 365 -sha512

Jetzt haben wir ein Zertifikat, welches 365 Tage gültig ist.

 

Inhalt und Gültigkeit des Zertifikats

Um sich den Inhalt anzuschauen, weil man vielleicht prüfen möchte, kann man folgenden Befehl verwenden:
openssl x509 -req -in $HOSTNAME-server.csr -CA $HOSTNAME-ca.crt \
-CAkey $HOSTNAME-ca.key -CAcreateserial -out server.crt -days 365 \
-sha512

Die Gültigkeit der Zertifikats bzw. Zertifikatskette lässt sich wie folgt prüfen:

openssl verify -CAfile $HOSTNAME-ca.crt $HOSTNAME-server.crt

 

Nun haben wir eine funktionstüchtige CA erstellt und können absofort auch gültige Zertifikate ausstellen.

« vorige Seite Seitenanfang nächste Seite »
Seite
Menü
Earned Certificates:
LPIC-1 LPIC-1 LPIC-1
Powered by CMSimple | Template by CMSimple | Login