Generierung eines eigenen SSL-Zertifikats: Unterschied zwischen den Versionen
imported>Trolli K →Vorbereitung: mkdir |
imported>Benares 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
- 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
- Erstellung des Key-Zertifikats:
openssl req -config ca.config -new -key ca.key -out ca.csr
- 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
- Generierung des Schlüssels:
openssl genrsa -out server.key 1024
- 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
- 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.