Lade...
 

SSL-Zertifikat für MorphIT erstellen

SSL-Zertifikat für MorphIT erstellen (selbst signiert)

 

Ein selbst signiertes Zertifikat für MorphIT kann mit den Programmen OpenSSL (Linux), Win32-OpenSSL (Windows) und Cygwin (emuliert Linux und beinhaltet OpenSSL) erstellt werden.

Dies sind Kommandozeilen Befehle. Bei Win32-OpenSSL muss entweder der Pfad der Bin in die Umgebungsvariable Path eingetragen werden oder im Bin-Verzeichnis von Win32-OpenSSL eine Konsole göffnet werden.

 

Ein selbstsegniertes Zertifikat für Chrome v58 erstellen

Chrome akzeptiert ab Version 58 keine Zertifikate mehr, die kein Subject Alternative Name enthalten. Deswegen würde die herkömmliche Methode, selbstsiginierte Zertifikate zu erstellen, hierbei nicht funktionieren. 

Die kurze Anleitung zeigt, wie man ein von allen Browsern akzeptiertes Zertifikat erstellen kann:

1- Im Verzeichnis von OpenSSL die Datei openssl.cfg öffnen und die folgenden Zeilen ändern bzw. hinzufügen (nur eine einzige eckige Klammer am Anfang), wobei {domainname} durch den gewünschten Domainnamen ersetzt werden muss:

[SAN]

subjectAltName = DNS:{domainname}

2- Im Zielverzeichnis den folgenden Befehl im Terminal ausführen:

openssl req -newkey rsa:2048 -x509 -nodes -keyout server.key -new -out server.crt -subj /CN={domainname} -reqexts SAN -extensions SAN -sha256 -days 3650

3- In mmc.exe die Zertifikate Snap-In hinzufügen und das generierte Zertifikat als vertrauenswürdiges Zertifikat importieren.

Herkömmliche Anleitung
 

Die nachfolgenden Informationen stammen von https://www.akadia.com/services/ssh_test_certificate.html.

1. privat key generieren

openssl genrsa -des3 -out server.key 1024

Konsolenausgabe:

Generating RSA private key, 1024 bit long modulus
..........++++++
.......++++++
e is 65537 (0x010001)
Enter pass phrase for server.key:

Hier ein einfaches Passwort eingeben und in der nächsten Zeile nocheinmal eingeben.

Verifying - Enter pass phrase for server.key:

 

Es wird im Verzeichnis, in dem die Kommandokonsole steht, die Datei server.key erzeugt.
 

2. CSR generieren (Certificate Signing Request)

openssl req -new -key server.key -out server.csr

Nach dem Ausführen dieseser Zeile wird man nach dem Passwort gefragt, welches man vorher eingegeben hat.

Konsolenausgabe:

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.


Nun bekommt man viele Fragen gestellt, um dem Zertifikat möglichst viele Info über deren Ersteller mitzugeben, die nicht alle gefüllt werden müssen. 

Country name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [internet Widgets Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:

Danach geht es mit zusätzlichen Attributen weiter:

Please enter the following 'extra' attributes to be sent with your certificate request
A challenge password []:

An optional company name []:

Hat man dies erledigt wird die Datei server.csr erstellt.

 

3. Passphrase entfernen

Beim Erstellen der server.key mussten wir ein Passwort vergeben. Dieses wollen wir jetzt wieder entfernen.
Dazu die Datei server.key kopieren und als server.key.org im selben Verzeichnis ablegen.

Unter Linux
cp server.key server.key.org

Unter Windows Kommandokonsole

copy server.key server.key.org

 

Danach diesen Befehl ausführen:
openssl rsa -in server.key.org -out server.key

Es muss das Passwort eingegeben werden und danach wird die Datei server.key neu erzeugt, ohne Passwort.

 

4. selbst signiertes Zertifikat generieren

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


Die Konsole teilt mit, ob die Signatur in Ordnung ist und welche Informationen das Zertifikat enthält.

Es wird die Datei server.crt erzeugt. 

Sollte es gewünscht werden, kann für das Attribute -days auch eine anderen Zahl eingetragen werden.