FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Agamemnon am 01 November 2015, 11:41:09

Titel: [gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Agamemnon am 01 November 2015, 11:41:09
Hallo zusammen,
ich habe mir für meine Webseite bei StartSSL ein offizielles Zertifikat besorgt.
Dieses würde ich nun gerne bei fhem für die HTTPS Verschlüsselung einbinden.

Leider finde ich dazu keine Anleitung. Es gibt nur den Wiki Eintrag wie ein selbstgeneriertes Zertifikat hinterlegt wird.
http://www.fhemwiki.de/wiki/Raspberry_Pi_%26_HTTPS (http://www.fhemwiki.de/wiki/Raspberry_Pi_%26_HTTPS)

Ich habe inzwischen rausgefunden, dass das Zertifikat und der Key zwingend server-cert.pem und server-key.pem heißen müssen.
Ansonsten steht im log:
SSL_cert_file ./certs/server-cert.pem does not exist at /usr/share/perl5/IO/Socket/SSL.pm line 2009.
SSL_key_file ./certs/server-key.pem does not exist at /usr/share/perl5/IO/Socket/SSL.pm line 2009.

und fhem startet gar nicht erst.

Nun habe ich mein Zertifikat und Key so genannt und unter certs hinterlegt, bekomme aber die Fehlermeldung:
2015.11.01 11:21:43 1: FHEMWEB SSL/HTTPS error: Illegal seek

Hat schon mal jemand ein nicht selbsterstelltes Zertifikat bei fhem hinterlegt und kann mir sagen, was noch genau zu tun ist?

Vielen Dank im Voraus.

Gruß
Matthias

Titel: Antw:Offizielles Zertifikat für HTTPS einbinden
Beitrag von: DecaTec am 02 November 2015, 10:10:14
Zu "Illegal seek" gibt es in diesem Thread (http://forum.fhem.de/index.php/topic,35248.0.html) einige Infos.

Mir war die SSL-Konfiguration in FHEM zu unflexibel, daher nutze ich nun nginx als Reverse-Proxy. Kannst du ja auch mal ausprobieren.
Titel: Antw:Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Elektrolurch am 02 November 2015, 11:12:47
Hallo,

ist das Zertifikat von startssl ein kostenloses?  Ich hatte das so verstanden, dass sie kostenlosen nur für smime gehen und nicht für https auf Server.
Bin an dem Thema nämlich auch dran, da mich das openssl - Zert nervt, weil der Broser immer wieder die Bestätigung haben will, dass ich das Zert akzeptieren, da keine gültige root-CA eingetragen ist.

Gruß

Elektrolurch
Titel: Antw:Offizielles Zertifikat für HTTPS einbinden
Beitrag von: DecaTec am 02 November 2015, 11:23:44
Zitat von: Elektrolurch am 02 November 2015, 11:12:47
Bin an dem Thema nämlich auch dran, da mich das openssl - Zert nervt, weil der Broser immer wieder die Bestätigung haben will, dass ich das Zert akzeptieren, da keine gültige root-CA eingetragen ist.

Man kann sich das Zertifikat auch auf dem Rechner "installieren", dann bleiben die Warnungen aus. Muss dann natürlich auf jedem Gerät passieren, mit dem man darauf zugreift.

Aber es gibt einen Licktblick: Let's Encrypt (https://letsencrypt.org/) wird in Zukunft kostenlosen Zertifikate ausgeben. Ist im Moment noch in der Beta-Phase, für die man sich bewerben kann. Geplanter public Release ist allerdings noch Q4 2015.
Titel: Antw:Offizielles Zertifikat für HTTPS einbinden
Beitrag von: herrmannj am 02 November 2015, 11:35:43
Zitat von: Elektrolurch am 02 November 2015, 11:12:47
Hallo,

ist das Zertifikat von startssl ein kostenloses?  Ich hatte das so verstanden, dass sie kostenlosen nur für smime gehen und nicht für https auf Server.
Bin an dem Thema nämlich auch dran, da mich das openssl - Zert nervt, weil der Broser immer wieder die Bestätigung haben will, dass ich das Zert akzeptieren, da keine gültige root-CA eingetragen ist.

Gruß

Elektrolurch

Die machen beides, SMIME und Server. Vorteil bei StartSSL, die sind in allen browsern als root hinterlegt..

viele Grüße
Joerg
Titel: Antw:Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Agamemnon am 02 November 2015, 11:51:14
Ja die machen beides.
Leider finde ich aber nirgends eine Anleitung wie man diese Zertifikate in PGM2 einbinden kann.  :(

Hast du eine Anleitung wie man nginx als Reverse-Proxy einrichtet?
Eigentlich wäre das aber nur meine Notlösung. Es muss doch gehen, einfach das Selbserstellte durch ein richtiges Zertifikat auszutauschen.

Gruß
Matze
Titel: Antw:Offizielles Zertifikat für HTTPS einbinden
Beitrag von: DecaTec am 02 November 2015, 12:38:57
Zitat von: Agamemnon am 02 November 2015, 11:51:14
Hast du eine Anleitung wie man nginx als Reverse-Proxy einrichtet?

Google liefert hier sehr viele Beispiele, wenn du nach "nginx reverse proxy" suchst. Ob das Backend nun FHEM oder etwas anderes ist, ist dabei egal.

Falls du eher Erfahrungen mit Apache hast, kannst du natürlich auch das verwenden. Nginx ist mMn für den Neuling etwas komplizierter bzw. von der Konfiguration auch unlogischer. Dafür auf kleinen Maschinen wie dem RasPi auch sparsamer, was Ressourcen angeht.

Klar, es ist erst einmal ein Einarbeitungsaufwand da, aber spätestens wenn du neben FHEM noch was anderes laufen lassen willst, kommt dir diese Erfahrung zugute.
Titel: Antw:Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Agamemnon am 12 November 2015, 17:59:57
Hallo zusammen,
habe es hinbekommen.  ;D
Ist eigentlich ganz einfach, wenn man die Rechte auf den nötigen Dateien richtig setzt.  :P

Wenn geünscht kann ich gerne mal eine kurze Anleitung schreiben, wie man ein StartSSL Zertifikat erstellt und einbindet.

Gruß
Matze
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: All-Ex am 12 November 2015, 18:08:35
Ja, gerne  :) Das würde ich auch gerne implementieren !
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Tedious am 13 November 2015, 09:33:38
Hier auch :) Erfahrungen sind immer hilfreich :)
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Elektrolurch am 13 November 2015, 09:42:23
Ja. Anleitung interessiert mich auch. Wäre super nett, spart dann doch etwas Zeit und man kann andere Themen dafür angehen.
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Agamemnon am 13 November 2015, 13:18:34
Hier also eine kurze Anleitung für den Einsatz eines "echten" Zertifikats von StartSSL:

Anmerkung vorab:
Ab 03.12.2015 wird https://letsencrypt.org/ (https://letsencrypt.org/) online gehen. Die wollen das ganze Verfahren noch vereinfachen. Evtl probiere ich das auch noch und erweitere dann hier: :)

Voraussetzung:
Es wird eine eigene Domäne benötigt. Es kann kein Zertifikat für URLs wie xyz.dyndns.org erstellt werden.

StartSSL Account erstellen:
Auf https://www.startssl.com/ (https://www.startssl.com/) per Signup einen Account einrichten.
Nicht wundern, es gibt bei StartSSL kein Login und Passwort.
Konsequenterweise bekommt ihr ein Zertifikat welches ihr in euren Browser importieren müsst.
Damit meldet ihr euch zukünftig bei StartSSL an.

Domänenbesitz bestätigen:
Ist dein Account vollständig eingerichtet und freigeschaltet, musst du unter Validations Wizard - Domain Name Validation deine Domain (ohne www oder sonstiges!) hinzufügen.
Ein Verfication Code wird an eine Mailadresse gesendet, die du dir aus einer Liste aussuchen kannst.
Stelle sicher, dass es diese Adresse auch wirklich gibt, denn den Code musst du anschließend eingeben, um den Besitz der Domain zu bestätigen.

Auf dem Raspi privaten Schlüssel und Zertifikats-Request erstellen:
sudo openssl genrsa -out server-key.pem 4096
sudo openssl req -new -sha256 -key server-key.pem -out cert_request.csr

Alle Abfragen können mit Enter bestätigt werden, da eh alle Angaben mit Ausnahme des öffentlichen Schlüssels von StartSSL verworfen werden.

Zertifikat erstellen:
Auf der Webseite von StartSSL anmelden und den Certificates Wizard starten; als Certificate Target wählt man im Drop-Down den Eintrag Web Server SSL/TLS Certificate
Als nächstes kann ein KEY und CSR von StartSSL erstellt werden. Dieses würde ich vermeiden, da der Key eigentlich geheim bleiben sollte. Diesen Schritt also mit Skip überspringen.
Anschließend wird der Inhalt der erstellten cert_request.csr Datei in das Textfeld kopiert
Im nächsten Schritt muss man seine Domäne auswählen
Anschließend kann man eine Subdomain eingeben. Ich habe dort "www" eingetragen. Damit ist das Zertifikat gültig für DEINEDOMAIN.de und für www.DEINEDOMAIN.de
Nun wird dein Zertifikat im PEM-Format erstellt; kopiere den gesamten Inhalt des Textfeldes in die Zwischenablage und von dort in eine Datei namens server-cert.pem

Zertifikat und Key auf dem Raspi hinterlegen:
Nun müssen die beiden Dateien server-key.pem und server-cert.pem auf dem Raspi nach /opt/fhem/certs/ kopiert werden.

Owner und Rechte anpassen:
sudo chown fhem:root /opt/fhem/certs/server-cert.pem
sudo chmod 600 /opt/fhem/certs/server-cert.pem

sudo chown fhem:root /opt/fhem/certs/server-key.pem
sudo chmod 600 /opt/fhem/certs/server-key.pem

fhem neu starten.
Anschließend sollte beim Zugriff per https das gültige Zertifikat ausgeliefert werden (siehe Anhang).

Viel Erfolg!

Gruß
Matze
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Brockmann am 13 November 2015, 13:29:35
Danke für die Anleitung. Wäre auch was fürs FHEM-Wiki.
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 13 November 2015, 13:34:06
Zitat von: Agamemnon am 13 November 2015, 13:18:34
Nicht wundern, es gibt bei StartSSL kein Login und Passwort.

Dafür wird ein persönliches Zertifikat im Browser hinterlegt. Das sollte mit Vorsicht behandelt werden. Ansonsten kann jeder, der Zugriff auf den Browser hat, Zertifikate in deinem Namen ausstellen.

Detaillierte Anleitung für Zertifikate mit StartSSL gibt's bei heiseSecurity (http://www.heise.de/security/artikel/SSL-fuer-lau-880221.html)
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Elektrolurch am 13 November 2015, 16:32:48
Hallo Matze,

danke für die Anleitung. Habe da aber noch eine Verständnisfrage:

Ich habe eine Domäne, wobei die Webhseite extern gehostet wierd und auch dazu gibgt es Mailadressen.
Nun heisst der Webserver für fhem ja ganz anders, sagen wir z.B. fhemserver
Und das vpn terminiert auf der Fritzbox, also so was wie osdddk.myfritz.net

Damit das Zertifikat für den fhemserver passt, was muss ich da eingeben?
Irgendwo im Netz hatte ich gelesen, dass man das als Subdomaine zur lokalen Fritzbox  eingeben sollte, also so:

fhemserver.fritz.box

Oder habe ich das verwechselt und die ÄAngabe betrifft nur das vpn? Und für das Zertifikat ist es egal?

Elektrolurchj

Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 13 November 2015, 16:38:41
Hi Elektrolurch,

eine Domain braucht eine fixe IP-Adresse! Anders kann es nicht funktionieren. Ausser du änderst die IP, die der Domain zugewiesen ist, jedes Mal, wenn sich deine IP ändert. Das ist etwas mühsam ;).

Und du kannst SSL Zertifikate nur für Domains erstellen, die dir gehören. Für osdddk.myfritz.net wirst du also leider keines bekommen.

Du kannst also nur ein selbstsigniertes Zertifikat für fhemserver.fritz.box erstellen (mit z.B. OpenSSL) und musst dann mit der Zertifikats-Warnung des Browsers leben.

Gruß
Stefan

Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Agamemnon am 13 November 2015, 17:46:51
Zitat von: drhirn am 13 November 2015, 13:34:06
Dafür wird ein persönliches Zertifikat im Browser hinterlegt. Das sollte mit Vorsicht behandelt werden. Ansonsten kann jeder, der Zugriff auf den Browser hat, Zertifikate in deinem Namen ausstellen.
Das kann ich so nicht bestätigen!
Das Zertifikat wird im private store hinterlegt.
Das bedeutet, wenn mehrere Benutzer mit einem Computer arbeiten und diese auch wirklich unterschiedliche Benutzer am System sind (also alle einen eigenen Login haben), kann keiner auf die privaten Zertifikate des anderen zugreifen.

@Elektrolurch:
Wie Stefan schon schreibt, brauchst du eine eigenen Domänen Namen ("Domäne" war in meiner Anleitung wohl der falsche Ausdruck).
Auf dieses muss auch das zertifikat laufen.
Wenn du deine fhem Seite also zum Beispiel so aufrufst: das-ist-meine-domain.de:8083/fhem
Dann muss dein Zertifikat auf das-ist-meine-domain.de ausgestellt sein.

Für sowas wie osdddk.myfritz.net wird das in der Tat nicht gehen.

Statische IP ist nicht nötig. Habe auch keine, und der ddclient auf dem Raspi macht das sehr gut. :)

Gruß
Matze
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Elektrolurch am 14 November 2015, 13:41:39
Zitat:
Wenn du deine fhem Seite also zum Beispiel so aufrufst: das-ist-meine-domain.de:8083/fhem
Dann muss dein Zertifikat auf das-ist-meine-domain.de ausgestellt sein.

Wäre jetzt bei mir z.B. Speicherknecht:8083, aber für diesen Namen bekomme ich keine Mail.
Wenn ich das richtig verstanden habe, muss der Domänennamen über die Mailadresse verifiziert werden, oder?

Schon Mal Danke für die Info.

Elektrolurch
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: herrmannj am 14 November 2015, 15:47:45
Zitat von: Elektrolurch am 14 November 2015, 13:41:39
Wäre jetzt bei mir z.B. Speicherknecht:8083, aber für diesen Namen bekomme ich keine Mail
"Speicherknecht" ist keine domäne.

www.speicherknecht.de wäre eine.

vg
joerg
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 16 November 2015, 10:21:13
Hi,

Zitat von: Elektrolurch am 14 November 2015, 13:41:39
Wäre jetzt bei mir z.B. Speicherknecht:8083, aber für diesen Namen bekomme ich keine Mail.
Wenn ich das richtig verstanden habe, muss der Domänennamen über die Mailadresse verifiziert werden, oder?

Domains werden nicht zwingend über Mailadresse verifiziert. Es gibt z.B. auch die Möglichkeit, eine spezielle Datei auf dem Webserver zu hinterlegen, die dann von der Zertifizierungsstelle überprüft wird. Let's Encrypt wird das unter anderem so machen.

Grundsätzlich besteht eine gültige Domain aber zwingend aus einem Namen ("Second-Level-Domain" z.B. speicherknecht) und einer Top-Level-Domain (z.B. de). Und dann können noch Third-/Fourth-/etc.-Domains (Sub-Domains) hinzugefügt werden (z.B. www).
Auf Wikipedia ist das ganz gut erklärt: https://de.wikipedia.org/wiki/Domain_%28Internet%29 (https://de.wikipedia.org/wiki/Domain_%28Internet%29)

Auf diese Domain kannst du dir dann ein SSL-Zertifikat ausstellen lassen.

Gruß
Stefan
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 16 November 2015, 10:23:09
Zitat von: Agamemnon am 13 November 2015, 17:46:51
Das kann ich so nicht bestätigen!
Das Zertifikat wird im private store hinterlegt.
Das bedeutet, wenn mehrere Benutzer mit einem Computer arbeiten und diese auch wirklich unterschiedliche Benutzer am System sind (also alle einen eigenen Login haben), kann keiner auf die privaten Zertifikate des anderen zugreifen.

Ist natürlich korrekt. Und jetzt mal ehrlich: Wie viele Familien kennst du, die (unter Windows) unterschiedliche Benutzeraccounts für einen gemeinsam genutzten PC verwenden? ;)
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: ManfredC am 16 November 2015, 10:58:56
Zitat von: Agamemnon am 13 November 2015, 17:46:51


Statische IP ist nicht nötig. Habe auch keine, und der ddclient auf dem Raspi macht das sehr gut. :)


Wie löst man das wenn dyndns und Konsorten nicht funktionieren?

Grüße,

Manfred

Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 16 November 2015, 11:02:20
ddclient (http://sourceforge.net/p/ddclient/wiki/Home/)

Kannte den bis zu dem Hinweis von Matze auch nicht. Wäre aber wohl einen Versuch wert.
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: ManfredC am 16 November 2015, 11:25:01
Zitat von: drhirn am 16 November 2015, 11:02:20
ddclient (http://sourceforge.net/p/ddclient/wiki/Home/)

Kannte den bis zu dem Hinweis von Matze auch nicht. Wäre aber wohl einen Versuch wert.

Hm, das ist doch nur der Client für dyndns und Konsorten.

Zitat
DDclient is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider. It was originally written by Paul Burry and is now mostly by wimpunk. It has the capability to update more than just dyndns and it can fetch your WAN-ipaddress in a few different ways. Check the configuration pages to find how to do this.

den braucht man falls man keinen Router hat der das schon eingebaut hat. Aber welcher Nameserver-Dienst hostet denn Domains mit dynamischen IPs und funktioniert mit startssl?

-Manfred
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Agamemnon am 18 November 2015, 17:28:35
Hallo,
erstmal sorry, das ich mich so lang hier nicht mehr gemeldet habe...

Hier wird irgendwie einiges durcheinander geworfen:
Meine Domäne wird nirgends "gehostet". Die Daten liegen alle auf meinem Raspi bei mir im Keller.
Das einzige was ich offiziell habe ist der Domänen Name. Den habe ich für kleines Geld bei Strato erworben.
Mein ddclient aktualisiert meine IP bei Strato. Das ist nicht weiter schwierig.
Ja, ein ordentlicher Router kann das selber machen, aber mein misst Vodafon Ding kann das leider nicht.

Für diese ganz offizielle Second-Level-Domain habe ich mir bei StartSSL ein Zertifikat ausstellen lassen und wie beschrieben eingebunden.

Zitat von: drhirn am 16 November 2015, 10:23:09
Ist natürlich korrekt. Und jetzt mal ehrlich: Wie viele Familien kennst du, die (unter Windows) unterschiedliche Benutzeraccounts für einen gemeinsam genutzten PC verwenden? ;)
Ich kenne das nur so! Ansonsten herscht doch bei mehreren Anwendern sofort Chaos auf dem Rechner.  :P

Gruß
Matze

Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Nepumuk4321 am 18 November 2015, 18:02:33
Hallo,
Eine Frage habe ich noch: ich habe eine Subdomain auf meine Heim-ip umgeleitet ( auch bei Strato). Welche Domain gebe ich jetzt bei Startssl an, die Hauptdomain oder die Subdomain ?



Gruß
Frank
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 18 November 2015, 18:42:48
Das ist jetzt eine gute Frage, deren Antwort länger werden könnte ;)

Kurz: Nimm die Subdomain
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: ManfredC am 18 November 2015, 20:00:41
Moin,

Zitat von: Agamemnon am 18 November 2015, 17:28:35

Hier wird irgendwie einiges durcheinander geworfen:
Meine Domäne wird nirgends "gehostet". Die Daten liegen alle auf meinem Raspi bei mir im Keller.
Das einzige was ich offiziell habe ist der Domänen Name. Den habe ich für kleines Geld bei Strato erworben.

"gehostet" ist sicher der falsche Ausdruck. Man braucht einen Nameserver der die IP der Domäne auflösen kann. Ich kenne das so dass man dazu eben dyndns, myip etc. pp. benutzt. Und dafür geht startssl nicht. Ich habe noch Domains bei United Domains registriert, die derzeit nicht in Verwendung sind. Dann muss ich mal schauen ob es dort eine Möglichkeit gibt den Nameserver mit ddclient upzudaten und das Update dann auch in akzeptabler Zeit erfolgt.

-Manfred

Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Nepumuk4321 am 18 November 2015, 23:45:27
Zitat von: drhirn am 18 November 2015, 18:42:48
Das ist jetzt eine gute Frage, deren Antwort länger werden könnte ;)

Kurz: Nimm die Subdomain

Danke! Wenn doch nur alle Antworten so einfach und verständlich wären  :)

Gruß
Frank
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 19 November 2015, 08:55:09
Zitat von: ManfredC am 18 November 2015, 20:00:41Ich habe noch Domains bei United Domains registriert, die derzeit nicht in Verwendung sind. Dann muss ich mal schauen ob es dort eine Möglichkeit gibt den Nameserver mit ddclient upzudaten und das Update dann auch in akzeptabler Zeit erfolgt.

Ich hab auf die Schnelle nichts bzgl. United Domains und ddclient gefunden. Im schlimmsten Falle kannst du ja einen Domain Transfer in Betracht ziehen.
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Lafarik am 06 Dezember 2015, 13:05:25
Hallo zusammen!

Letsencrypt hat ja schon die öffentliche Beta gestartet (https://goo.gl/Havj5R (https://goo.gl/Havj5R)).
Hat es einer zufällig schon ausprobiert?
Gruß,
Lafarik
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 07 Dezember 2015, 13:45:33
Hi,

ja, gerade eben auf einem Debian System mit nginx. Für nginx muss man's zwar derzeit noch manuell machen, funktioniert aber trotzdem wunderbar.
Wenn man sich hier (https://mozilla.github.io/server-side-tls/ssl-config-generator/) eine SSL Konfiguration erstellen lässt bekommt man bei den SSL Labs (https://www.ssllabs.com/ssltest) sogar ein schönes A+
Wie das mit dem automatischen Renew funktioniert, kann ich dann in drei Monaten berichten ;).

Gruß
Stefan
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: harvey1988 am 09 August 2016, 20:59:20
Hallo zusammen,

habe gerade die Anleitung mit StartSSL befolgt.
FHEM startet auch wieder, aber leider greift das Zertifikat nicht.
Ich bekomme immer noch eine Warnung.
Hat sich hier in der Zwischenzeit noch etwas verändert?

Vielen Dank im vorraus.
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: herrmannj am 10 August 2016, 00:56:58
welche Warnung ?
welche adresse genau rufst Du im browser auf ?

vg
joerg
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: harvey1988 am 10 August 2016, 09:07:43
Also meine Konstellation:
FritzBox -> Raspberry mit FHEM
Öffentliche Domain über INWX, updatet sich automatisch übe die XML Schnittstelle.
Zertifikat über StartSSL regisitiert und wie hier beschrieben eingespielt.

SSLlabs.com sagt: This server's certificate is not trusted, see below for details.
Grund: Common Names: Mismatch
Er zeigt hier nur die IP an, und keinen Namen an.

Im Browser rufe ich https://fhem.domainname.tech:Port
Wobei Domainname meine Domain ist.

Vielen Dank
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Wuppi68 am 10 August 2016, 17:11:45
das kannst Du über einen Umweg machen :-)

Du definiert bei United Domains einen CNAME Eintrag, der auf Deinen Eintrag zb. meineFritte.myfritz.org oder irgendwinandererpc.noip.org und diese A-Einträge kannst Du dann entsprechend mit dem Dyndns Client dynamisch anpassen lassen.
Wichtig ist nur für das Zertikat, dass dein Server mit dem Namen antwortet auf den es angestellt ist

Beispiel: (rein fakultativ)

FHEM Rechner: speicherknecht
Domain: Elektrolurch.de

dann definiert Du bei UD in den DNS Einstellungen einen CNAME Eintrag für speicherknecht.elektrolurch.de der auf Elektrolurch.noip.org zeigt
Elektrolurch.noip.org wird dann durch den ddnsclient aktualisiert
Jetzt noch eine Mailadresse webmaster oder postmaster@elektrolurch zur Verfügung stellen
und Du kannst bei StartSSL ein Zertifikat für speicherknecht.elektrolurch.de ausstellen und bei Dir auf dem FHEM Rechner installieren
Wenn Du eine Portweiterleitung auf deinen Router eingerichtet hast, dann kannst Du es mit https://speicherknecht.elektrolurch.de:8083/ mit fhem testen

der FHEM Rechner sollte dann auch als FQDN speicherknecht.elektrolurch.de haben

viel Erfolg

Ralf
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: harvey1988 am 11 August 2016, 11:56:24
Hallo,

ich habe ja schon eine inwx domain die dynamisch auf meine "FritzBox WANIP" geupdatet wird.
Hierfür lasse ich alle 5 Minuten einen crontab am Raspberry laufen, der dieses Update dann durchführt.

Nun habe ich mir bei start ssl für meine Domain ein Zertifikat erstellt und auch auf der Fritzbox die Portweiterleitung aktiviert.
Ich habe jetzt einen A Eintrag in den DNS Einstellungen erstellt, der nach oben genannter Methode immer auf die richtige IP verweist.
Dieser lautet FHEM.Domain.de:port
Nur das Zertifikat greift leider nicht. Der Balken im Browser bleibt rot.

Vielen Dank im voraus
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: herrmannj am 11 August 2016, 16:32:58
überprüfe ob Dein Zertifikat auch auch exakt FHEM.Domain.de ausgestellt ist.
Wenn Du die Seite aufrufst dann musst Du FHEM.Domain.de:port eintippen.

ansonsten Servertest via https://www.ssllabs.com/ssltest/index.html und Ergebnis posten.

vg
joerg
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Agamemnon am 23 Dezember 2016, 09:27:42
Hallo zusammen,
da ich gerade per privater Nachricht eine Frage erhalten habe, hier die Antwort für alle:
StartSSL hat seit meiner Anleitung wohl das Vorgehen etwas geändert.
Die benötigte pem Datei kann man sich nun aus der Liste der Zertifikate herunter laden (siehe Anhang).

Gruß
Matze
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: drhirn am 23 Dezember 2016, 10:18:47
StartSSL wurde inzwischen von WoSign (China) übernommen. Beide haben Zertifikate ausgestellt, die sie nicht ausstellen hätten dürfen. Die CAs sind also nicht mehr als vertrauenswürdig einzustufen. Ich würde daher auf einen Einsatz verzichten und nur noch Let's Encrypt verwenden.
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: dk3572 am 27 März 2017, 20:08:03
Hallo,
ich habe bei Strato eine Domain. In der Fritz Box habe ich bei Dyndns die Strato Daten eingetragen. Ich möchte per letsencrypt ein Zertifikat erstellen und auf Ubuntu einen Reverse Proxy einrichten. Was muss ich bei Strato alles eintragen /einstellen? SSL? DNS-Einstellungen? A-Rekord?
Habe jetzt schon Tage damit verbracht und Anleitungen gelesen, raffe's aber nicht.
Wäre für Hilfe dankbar.
Gruß Dieter
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Nepumuk4321 am 15 April 2017, 20:10:08
Soweit ich weiß, wird Strato von letsencrypt noch nicht unterstützt. Strato wird da wohl wenig Interesse haben, weil sie lieber ihre eigenen Zertifikate verkaufen.

Gesendet von meinem Redmi Note 3 mit Tapatalk

Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Nepumuk4321 am 26 Februar 2018, 15:46:27
Hallo,

falls es noch jemanden interessiert. Hier die Lösung zur Verwendung von Letsencrypt und Strato als DynDNS Dienst.

Im Strato User Account unter Domains-Domainverwaltung die (Sub-) Domain auswählen die man umleiten möchte. auf Verwalten klicken->DNS-Verwaltung -Dynamic DNS -Verwalten
dann nur "DynDNS aktiviert" häckchen setzen- fertig.   
Unter Sicherheit-Passwörter das "Dynamic DNS Passwort" festlegen.   Es sind keine weiteren Änderungen notwendig.

In der Fritzbox als DynDNS dienst Strato wählen und Domainnamen und StratoDynDNS-Passwort angeben.
Port 80 und Port 443 extern an Port 80 und 443 intern des Rechners weiterleiten, auf dem Letsencrypt laufen soll. Das ist wichtig, weil im Laufe der Registrierung bei letsencrypt die Erreichbarkeit der (umgeleiteten) Domain geprüft wird. Das heißt der Rechner muss über Port 80 und 443 erreichbar sein.

Zur Einrichtung von Letsencrypt mit Nginx ReverseProxy auf einem RaspberryPi ist diese Anleitung ganz hilfreich: https://blog.doenselmann.com/nginx-und-lets-encrypt-auf-raspberry-pi/
(https://blog.doenselmann.com/nginx-und-lets-encrypt-auf-raspberry-pi/)

Es geht auch ohne Reverse Proxy, dann muss man allerdings die von letsncrypt ereugten Zertifikate von Hand in den Ordner /opt/fhem/certs kopieren und auch umbenennen.

Gruß
Frank
Titel: Antw:[gelöst] Offizielles Zertifikat für HTTPS einbinden
Beitrag von: Morgennebel am 26 Februar 2018, 15:52:22
Ihr macht das aber alle umständlich... :)

https://certbot.eff.org/ - OS und WebServer auswählen (geht sogar für Devuan), die apt-Quelle hinzufügen, certbot installieren.

Der Rest geht eigentlich alleine. Certbot modifiziert die Apache/NGINX/... Konfig, testet die Erreichbarkeit via Port 80/443 und bei Erfolg wird ein Zertifikat erstellt und HTTP auf HTTPS umgeschubst. Das ganze dauert keine 3 Minuten. Und die automatische Erneuerung des Zertifkates erledigt der mitinstallierte Cronjob...

Ciao, -MN