Generierung eines eigenen SSL-Zertifikats: Unterschied zwischen den Versionen

Aus
(Ergänzung -extfile zur Unterstützung mehrerer DNS-Namen)
Zeile 53: Zeile 53:
emailAddress_max = 40
emailAddress_max = 40
</pre>
</pre>
 
*sowie
**'''vi extfile.cnf''' mit folgendem Inhalt:
<pre>
subjectAltName=DNS:DS212,DNS:DS212.meinefirma.de,DNS:myhost.dydns.org,DNS:myhost.no-ip.com
</pre>
Hier trägt man alle DNS-Namen ein, unter denen die DS angesprochen wird und für die Zertifikate gelten sollen.


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.
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.
Zeile 60: Zeile 65:
#Bei der Generierung des Schlüssels wird ein Passwort benötigt, mit dem später die Zertifikate erstellt werden. Generierung des Schlüssels '''ca.key''':<pre>openssl genrsa -des3 -out ca.key 1024</pre>
#Bei der Generierung des Schlüssels wird ein Passwort benötigt, mit dem später die Zertifikate erstellt werden. Generierung des Schlüssels '''ca.key''':<pre>openssl genrsa -des3 -out ca.key 1024</pre>
#Erstellung des Key-Zertifikats:<pre>openssl req -config ca.config -new -key ca.key -out ca.csr</pre>
#Erstellung des Key-Zertifikats:<pre>openssl req -config ca.config -new -key ca.key -out ca.csr</pre>
#Erstellung des endgültigen Zertifikats mit einer Gültigkeit von 10 Jahren:<pre>openssl x509 -days 3650 -signkey ca.key -in ca.csr -req -out ca.crt</pre>
#Erstellung des endgültigen Zertifikats mit einer Gültigkeit von 10 Jahren:<pre>openssl x509 -days 3650 -signkey ca.key -in ca.csr -req -extfile extfile.cnf -out ca.crt</pre>




Zeile 66: Zeile 71:
#Generierung des Schlüssels:<pre>openssl genrsa -out server.key 1024</pre>
#Generierung des Schlüssels:<pre>openssl genrsa -out server.key 1024</pre>
#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.<pre>openssl req -config server.config -new -key server.key -out server.csr</pre>
#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.<pre>openssl req -config server.config -new -key server.key -out server.csr</pre>
#Generierung des Server-Zertifikats:<pre>openssl x509 -days 3650 -CA ca.crt -CAkey ca.key -set_serial 01 -in server.csr -req -out server.crt</pre>
#Generierung des Server-Zertifikats:<pre>openssl x509 -days 3650 -CA ca.crt -CAkey ca.key -set_serial 01 -in server.csr -req -extfile extfile.cnf -out server.crt</pre>





Version vom 8. September 2012, 11:26 Uhr

Voraussetzung

Zugang auf die Kommandozeile der Synology Station.

Vorbereitung

  • Zunächst erstellt man ein temporäres Arbeitsverzeichnis. Zum Beispiel /usr/local/ssl/
mkdir /usr/local/ssl
  • Dort erstellt man zunächst zwei Konfigurationsdateien:
    • vi ca.config mit genau folgendem Inhalt:

(Hier noch keine genauen Angaben machen, das erfolgt erst später)

[ 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 Adresse "
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 Organisationseinheit "
commonName = "6. Common Name (DynDNS) "
commonName_max = 64
commonName_default = name.dyndns.org
emailAddress = "7. Email Adresse "
emailAddress_max = 40
  • sowie
    • vi extfile.cnf mit folgendem Inhalt:
subjectAltName=DNS:DS212,DNS:DS212.meinefirma.de,DNS:myhost.dydns.org,DNS:myhost.no-ip.com

Hier trägt man alle DNS-Namen ein, unter denen die DS angesprochen wird und für die Zertifikate gelten sollen.

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 Generierung 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 -extfile extfile.cnf -out ca.crt


Erstellung des Server-Zertifikats

  1. Generierung 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 -extfile extfile.cnf -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


Installation des Zertifikats auf dem Client-Rechner

Abschließend 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