Wie erzeuge ich ein selbstsigniertes Zertifikat?

Ein digitales Zertifikat dient dazu, die Identität eines Gesprächspartners sicherzustellen. Das am häufigsten verwendete Format für digitale Zertifikate ist X.509. Dieses basiert auf einer Hierarchie von Zertifizierungsstellen. Im X.509-System vergibt eine Zertifizierungsstelle ein Zertifikat, das einen öffentlichen Schlüssel mit einem unverwechselbaren Namen verknüpft. Es ist möglich, ohne Zertifizierungsstelle ein Zertifikat zu erstellen, obwohl diese Art von selbst signierten Zertifikaten nicht empfohlen und von den meisten Anwendungen und Webbrowsern standardmässig nicht akzeptiert wird.

Hier wird im Einzelnen beschrieben, wie ein solches Zertifikat erzeugt wird.

Schritt 1

Laden Sie ein Programm herunter, das die Erzeugung eines Zertifikats ermöglicht, wie z. B. openssl, das Sie unter folgenden Webadressen finden:

 

Schritt 2

Installieren Sie die OpenSSL-Anwendung und setzen Sie die Umgebungsvariablen so, dass Sie die OpenSSL-Anwendung und ihre Konfigurationsdatei finden können, damit Sie sie relativ und nicht absolut aufrufen können.

Oder temporär in der Konsole, indem Sie die beiden folgenden Befehle eingeben:

>set OPENSSL_CONF=C:\Program Files\OpenSSL\bin\openssl.cfg
>set Path=C:\Program Files\OpenSSL\bin

Oder dauerhaft, indem Sie dies in den Systemeigenschaften hinzufügen:

Nachdem Sie die Anwendung sysdm.cpl geöffnet haben, fügen Sie im Windows-Anwendungsstarter (‘Windows’ + ‘R’) unter der Registerkarte ErweitertUmgebungsvariablen, die gleichen Variablen “OPENSSL_CONF” und “Path” hinzu.

Wenn der zweite Schritt erfolgreich verlaufen ist, wird der openssl-Befehl erkannt.

Schritt 3

Nun zur Erstellung des selbstsignierten Zertifikats.

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 1000

Mit diesem Befehl werden die Zertifikate erstellt, aber es werden noch einige Informationen abgefragt, wie z. B. das Passwort, das den Zugriff auf den privaten Schlüssel ermöglicht, der Name des Landes, des Bezirks, die E-Mail-Adresse der Person, die das Zertifikat ausstellt, etc.

Dieser Befehl erstellt zwei neue Dateien im aktuellen Verzeichnis “key.pem“, die den privaten Schlüssel enthält und “cert.pem“, die die Zertifikatsinformationen enthält.

Sie können diese Informationen auch direkt eingeben, indem Sie bestimmte Optionen des Befehls openssl verwenden: z. B. -subj, um festzulegen, wer der Aussteller des Zertifikats ist, oder -passin und -passout, um das Passwort für den Zugriff auf den privaten Schlüssel festzulegen.

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 1000 -subj “/C=CH/ST=BERN/L=LA NEUVEVILLE/O=VISIATIV/OU=VISIATIV SOLUTIONS” -passin pass:CeciEstMonMotDePasse -passout pass:CeciEstMonMotDePasse

Ergebnis

Die beiden Bilder zeigen Ihnen, wie das Ergebnis aussehen sollte.

Autor des Artikels

Lionel Réveillère, Application Engineer bei Visiativ