Generierung eines eigenen SSL-Zertifikats: Unterschied zwischen den Versionen
imported>Benares Hinweis auf IP bei subjectAltName ergänzt |
imported>Benares Keine Bearbeitungszusammenfassung |
||
Zeile 59: | Zeile 59: | ||
subjectAltName=IP:192.168.0.25,DNS:DS212,DNS:DS212.meinefirma.de,DNS:myhost.dydns.org,DNS:myhost.no-ip.com | subjectAltName=IP:192.168.0.25,DNS:DS212,DNS:DS212.meinefirma.de,DNS:myhost.dydns.org,DNS:myhost.no-ip.com | ||
</pre> | </pre> | ||
Hier trägt man alle IP-Adressen (IP:) oder DNS-Namen (DNS:) ein, unter denen die DS zusätzlich in der URL angesprochen wird und für die die Zertifikate gelten sollen. | Hier trägt man alle IP-Adressen (IP:) oder DNS-Namen (DNS:) ein, unter denen die DS zusätzlich zum DynDNS-Namen (Common Name) in der URL angesprochen wird und für die die Zertifikate auch gelten sollen. Hier sind also lokale Adressen/Namen möglich. | ||
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. |
Version vom 22. Oktober 2012, 20:30 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
cd /usr/local/ssl
- Dort erstellt man zunächst drei 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=IP:192.168.0.25,DNS:DS212,DNS:DS212.meinefirma.de,DNS:myhost.dydns.org,DNS:myhost.no-ip.com
Hier trägt man alle IP-Adressen (IP:) oder DNS-Namen (DNS:) ein, unter denen die DS zusätzlich zum DynDNS-Namen (Common Name) in der URL angesprochen wird und für die die Zertifikate auch gelten sollen. Hier sind also lokale Adressen/Namen möglich.
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.