- Mitglied seit
- 27. Sep 2008
- Beiträge
- 13.615
- Punkte für Reaktionen
- 3.641
- Punkte
- 468
Ich habe mich heute etwas mit dem o.g. Thema beschäftigt und möchte meine Erfahrungen damit gerne mal zur Diskussion stellen, bevor ich evtl. den Eintrag dazu im Wiki ergänze.
Das eigentliche Vorgehen ist im Wiki hier ja sehr gut beschrieben.
Die erste Hürde war, dass ich bei der Erstellung des Stammzertifikats der Default "Synology Station" als commonName nicht belassen habe. Damit hat der Zugriff über per https:/...:5001 dann überhaupt nicht mehr funktioniert. Keine Ahnung warum.
Im zweiten Anlauf hat es dann geklappt. Mich hat nur gestört, dass das Zertifikat nur beim Zugriff über einen bestimmten DynDNS-Namen funktioniert, nämlich den, den man bei der Erstellung des Server-Zertifikats als commonName eingegeben hat. Wenn man mehrere hat oder lokal über https arbeitet (z.B. https://DS212:5001) gibt es Fehler. Scheinbar geht man davon aus, dass jede "Domain" eigene Zertifikate benötigt. Das wollte ich aber nicht.
Bei Tante Google hab ich dafür eine Lösung gefunden:
Unter /usr/local/ssl legt man vor der Erstellung noch eine Datei (z.B. extfile.cnf) mit folgendem Inhalt an:
z.B.
Diese Datei gibt man bei der Erstellung der Zertifikate bei Schritt 3 mit dem Parameter -extfile jeweils mit,
also beim Stammzertifikat
und beim Server-Zertifikat
Bei Schritt 2 der Erstellung des Server-Zertifikats verwendet man wie bisher einen der Namen (den am meisten verwendeten?) als commonName.
Beim IE muss man übrigens scheinbar das Zertifikat unter "Vertrauenswürde Stammzertifizierungstellen" speichern und nicht etwa unter "eigene Zertifikate", wie man meinen könnte.
Gruß Benares
Das eigentliche Vorgehen ist im Wiki hier ja sehr gut beschrieben.
Die erste Hürde war, dass ich bei der Erstellung des Stammzertifikats der Default "Synology Station" als commonName nicht belassen habe. Damit hat der Zugriff über per https:/...:5001 dann überhaupt nicht mehr funktioniert. Keine Ahnung warum.
Im zweiten Anlauf hat es dann geklappt. Mich hat nur gestört, dass das Zertifikat nur beim Zugriff über einen bestimmten DynDNS-Namen funktioniert, nämlich den, den man bei der Erstellung des Server-Zertifikats als commonName eingegeben hat. Wenn man mehrere hat oder lokal über https arbeitet (z.B. https://DS212:5001) gibt es Fehler. Scheinbar geht man davon aus, dass jede "Domain" eigene Zertifikate benötigt. Das wollte ich aber nicht.
Bei Tante Google hab ich dafür eine Lösung gefunden:
Unter /usr/local/ssl legt man vor der Erstellung noch eine Datei (z.B. extfile.cnf) mit folgendem Inhalt an:
Code:
subjectAltName=DNS:<DnsName1>,DNS:<DnsName2>, ...
Code:
subjectAltName=DNS:DS212,DNS:DS212.meinefirma.de,DNS:myhost.dydns.org,DNS:myhost.no-ip.com
Diese Datei gibt man bei der Erstellung der Zertifikate bei Schritt 3 mit dem Parameter -extfile jeweils mit,
also beim Stammzertifikat
Code:
openssl x509 -days 3650 -signkey ca.key -in ca.csr -req [COLOR="#FF0000"]-extfile extfile.cnf[/COLOR] -out ca.crt
Code:
openssl x509 -days 3650 -CA ca.crt -CAkey ca.key -set_serial 01 -in server.csr -req [COLOR="#FF0000"]-extfile extfile.cnf[/COLOR] -out server.crt
Bei Schritt 2 der Erstellung des Server-Zertifikats verwendet man wie bisher einen der Namen (den am meisten verwendeten?) als commonName.
Beim IE muss man übrigens scheinbar das Zertifikat unter "Vertrauenswürde Stammzertifizierungstellen" speichern und nicht etwa unter "eigene Zertifikate", wie man meinen könnte.
Gruß Benares