Generierung eines eigenen SSL-Zertifikats

Aus

Vorbereitung

  • Zunächst erstellt man ein temporäres Arbeitsverzeichnis. Zum Beispiel /usr/local/ssl/
  • Dort erstellt man zunächst zwei Konfigurationsdateien:
    • vi ca.config mit folgendem Inhalt:
[ req ]
default_bits = 1024
distinguished_name = req_DN
string_mask = nombstr

[ req_DN ]
countryName = "1. Staat (2 Buchstaben)"
countryName_default = DE
countryName_min = 2
countryName_max = 2
stateOrProvinceName = "2. Bundesland "
localityName = "3. Ort "
0.organizationName = "4. Name der Organisation "
organizationalUnitName = "5. Name der Organisationseinheit "
commonName = "6. Common Name (Synology Station) "
commonName_max = 64
commonName_default = Synology Station
emailAddress = "7. Email Addresse "
emailAddress_max = 40
  • und
    • vi server.config mit folgendem Inhalt:
[ req ]
default_bits = 1024
distinguished_name = req_DN
string_mask = nombstr

[ req_DN ]
countryName = "1. Staat (2 Buchstaben)"
countryName_default = DE
countryName_min = 2
countryName_max = 2
stateOrProvinceName = "2. Bundesland "
localityName = "3. Ort "
0.organizationName = "4. Name der Organisation "
organizationalUnitName = "5. Name der Organisatioseinheit "
commonName = "6. Common Name (DynDNS) "
commonName_max = 64
commonName_default = name.dyndns.org
emailAddress = "7. Email Addresse "
emailAddress_max = 40


Die Generierung von eigenen SSL-Zertifikaten erfolgt immer in zwei Schritten. Zunächst wird ein Stammzertifikat generiert und daraus wird dann das Serverzertifikat erstellt, das beim Starten des Webservers eingelesen wird.


Erstellung des Stammzertifikats

  1. Bei der Gererierung des Schlüssels wird ein Passwort benötigt, mit dem später die Zertifikate erstellt werden. Generierung des Schlüssels ca.key:
    openssl genrsa -des3 -out ca.key 1024
  2. Erstellung des Key-Zertifikats:
    openssl req -config ca.config -new -key ca.key -out ca.csr
  3. Erstellung des endgültigen Zertifikats mit einer Gültigkeit von 10 Jahren:
    openssl x509 -days 3650 -signkey ca.key -in ca.csr -req -out ca.crt


Erstellung des Server-Zertifikats

  1. Gererierung des Schlüssels:
    openssl genrsa -out server.key 1024
  2. Generierung des Key-Zertifikats - wichtig ist hier vor allem der Common Name. Dieser muss mit dem verwendeten DNS-Namen übereinstimmen, also z.B. name.dyndns.org. Auch Wildcards wie *.name.dyndns.org sind hierbei möglich.
    openssl req -config server.config -new -key server.key -out server.csr
  3. Generierung des Server-Zertifikats:
    openssl x509 -days 3650 -CA ca.crt -CAkey ca.key -set_serial 01 -in server.csr -req -out server.crt


Austausch der Dateien

  • Wechseln ins Synology Zertifikatsverzeichnis
    cd /usr/syno/etc/ssl
  • Erstellen eines Backupverzeichnisses für die alten Dateien
    mkdir bak
  • Kopieren der alten Zertifikate:
cp -r ssl.crt bak
cp -r ssl.csr bak
cp -r ssl.key bak
  • Verschieben der neuen Zertifikate an den richtigen Ort:
mv /usr/local/ssl/ca.crt ssl.crt
mv /usr/local/ssl/server.crt ssl.crt
mv /usr/local/ssl/ca.csr ssl.csr
mv /usr/local/ssl/server.csr ssl.csr
mv /usr/local/ssl/ca.key ssl.key
mv /usr/local/ssl/server.key ssl.key
  • Die ca.crt kann nun auf den jeweiligen Client-Rechnern installiert werden. Wir kopieren diese Datei dazu zunächst ins Verzeichnis public.
    cp /usr/syno/etc/ssl/ssl.crt/ca.crt /volume1/public
  • Neustart der Synology Station
  • Abschliessend muss das Zertifikat noch auf den Client-Rechnern als "vertrauenswürdige Stammzertifizierungsstelle" installiert werden. Dazu kopiert man die Datei ca.crt auf den jeweiligen Rechner. Die Installation erfolgt unter Windows aus dem Explorer mit Rechtsklick -> Zertifikat installieren.

externe Links