Web-UI SSL Konfiguration

Hallo zusammen,

auf meinem Server habe ich ein SSL Zertifikat von Letsencrypt mittels Certbot erstellt und nutze es für diverse Dienste (Apache, GIT, Nextcloud, …).

Ich würde dieses Zertifikat auch gerne für das Web-UI von Homegear (0.8 nightly) nutzen, komme jedoch mit der Zuordnung der Dateien noch nicht klar.

Certbot hat mir folgende Dateien erstellt:

  • chain.pem
  • fullchain.pem
  • cert.pem
  • privkey.pem

Zudem habe ich folgende Datei manuell mittels openssl erstellt:

  • dhparam.pem

Die Frage ist nun nach den entsprechenden Einträgen in der rpcservers.conf:

# Default: caPath = /etc/homegear/homegearca.crt
caPath = /etc/homegear/ca/cacert.pem

# Default: certPath = /etc/homegear/homegear.crt
certPath = /etc/homegear/homegear.crt

# Default: keyPath = /etc/homegear/homegear.key
keyPath = /etc/homegear/homegear.key

# Default: dhParamPath = /etc/homegear/dh1024.pem
dhParamPath = /etc/homegear/dh1024.pem

Ich würde mal vermuten (natürlich mit den entsprechenden vollständigen Pfaden):

  • caPath = chain.pem
  • certPath = cert.pem
  • keyPath = privkey.pem
  • dhParamPath = dhparam.pem

Dies führt jedoch bei Aufrufen zu folgendem Fehler in der Ausgabe von Homegear und die Webseite öffnet sich nicht:
01/13/21 10:39:52.451 RPC Server (Port 2000): Warning: TLS handshake has failed: Certificate is required.

Vielen Dank für eure Unterstützung!
Alex

Hey,

guter Punkt, habe ich selbst auch noch nicht gemacht. Grundlage bei Zertifikaten bildet eine Zertifizierungskette bestehend aus root -> intermediate -> cert.

Root kennt der Client aufgrund seines Certificate Stores. Das Root signiert/beglaubigt das Intermediate was einer Certificate Authority (CA) ausgestellt wird. In deinem Beispiel ist das LetsEncrypt. Die CA wiederum signiert das eigentliche Zertifikat.

In den ersten drei Punkten solltest du also richtig liegen. Bei dhparam bin ich mir unsicher.
Schau mal bitte in die rpcservers.conf. Ich bin der Meinung, dass der Aufruf per SSL über Port 2002 geht… 2001 ist unverschlüsselt und 2000 sagt mir grade noch nicht mal was :wink:

Und zeit mal deine geänderte config… nicht, dass du einfach nur nen Pfad aus versehen falsch hast.

Gruß,
p

Hey P,

danke für die Rückmeldung!

Die Pfade und auch die Zuordnung waren korrekt.
Es läuft jetzt mit der oben genannten Konfiguration, wenn ich authType = none setze.

Dann bekomme ich eine verschlüsselte Verbindung zu der WebUI unter Nutzung meiner “Standard”-Zertifikate.

Ich vermute mal, dass das noch mit der rpcclients.conf zusammenhängt. Damit habe ich mich aber noch nicht beschäftigt.

Schöne Grüße
Alex

2 Likes

Kleiner Nachtrag hierzu:

Es läuft jetzt mit der oben genannten Konfiguration, wenn ich authType = none setze.

Andere authTypes gehen auch. Ich vermute mal, du hattest dort cert stehen. Damit kannst du dich mit Client-Zertifikaten anmelden. Das ist aber unabhängig von der Einbindung der Letsencrypt-Zertifikate.

Viele Grüße

Sathya