livetracking mit owntracks

Begonnen von TWART016, 15 April 2019, 22:46:47

Vorheriges Thema - Nächstes Thema

Otto123

So ein Mist  :-[
Danke, habe es gefixed und eingecheckt
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Sailor

Ein herzerfrischendes "Moin" vom achtern Diek vorweg.

Ich möchte nochmal auf auf die Verwendung von SSL beim MQTT2_SERVER sowie bei aktiviertem TLS seitens owntracks kommen.

Ich habe fhem - seitig die Zertifikate wie folgt erstellt:
https://wiki.fhem.de/wiki/FHEM_mit_HTTPS_SSL-Zertifikat_und_eine_eigene_Zertifizierungsstelle
Diese dann in fhem eingebunden => FHEMWEB funktioniert schon mal mit diesem neuen Zertifikat.

Daraufhin habe ich den MQTT2_SERVER zunächst nur mit allowed abgesichert und dort ein Username & Passwort vergeben.
Die Verbindung kommt zustande und die Daten werden erfolgreich übermittelt.

Anschliessend aktiviere ich auf seiten des MQTT2_SERVER das Attribut SSL sowie in der owntrack-APP den TLS Balken.

Leider bekomme ich dann sofort die folgende Fehlermeldung (verbose = 5):

2022.11.18 20:54:54.324 3: Login denied via MQTTBroker_extern
2022.11.18 20:54:54.446 5: MQTT2_SERVER SSL/HTTPS error:  SSL accept attempt failed error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown (peer: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx)


Ich habe auch versucht das oben erstellte CA - Zertifikat in der owntracks-APP einzubinden.

Das Resultat ist das gleiche.

Die Konfiguration (list) meiner Devices findet Ihr übrigens hier:
https://forum.fhem.de/index.php/topic,37412.msg1246208.html#msg1246208

Wenn Jemand die Erfahrung gemacht hat, wie ich die SSL / TLS Verbindung zwischen dem MQTT2_SERVER und der owntracks - APP zum Laufen bekomme, dann bin ich für jeden Hinweis dankbar.

Gruß
    Sailor
******************************
Man wird immer besser...

Otto123

Hi,

hast Du alle Attribute gesetzt? https://fhem.de/commandref_modular.html#MQTT2_SERVER
ZitatsslCertPrefix
Set the prefix for the SSL certificate, default is certs/server-, see also the SSL attribute.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Jamo

Hi Sailor, in der Owntracks app auf dem iPhone, in den Einstellungen rechts neben dem TLS Schiebeschalter ist das runde blaue i, wenn du da draufklicks kommt ein Menue, wo man "Allo Untrusted Certificates" auswaehlen kann. Kannst Du das mal probieren?
Gruss, Jamo
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

rudolfkoenig

#34
Falls MQTT2_SERVER (oder FHEMWEB) kein Zertifikat findet, dann versucht er ein self-signed Zertifikat mit openssl zu erzeugen.

Ansonsten wenn ich die Ergebnisse der Internet-Suche verstehe (und da bin ich nicht sicher), bedeutet die Fehlermeldung dass das Zertifkat des Clients nicht akzeptiert wird. Auch wenn SSL_verify_mode nicht gesetzt wird, und damit SSL_VERIFY_NONE ist, gibt es angeblich Faelle, wo ein Client Zertifikat diese Meldung beim Server erzeugt.

Nachtrag: der Vorschlag von @Jamo klingt logischer. In diesem Fall wuerde der Client dem Server diese Meldung mitteilen. Ich wuenschte mir, dass die openssl Meldungen verstaendlicher waeren.

Sailor

Hallo Otto

Zitat von: Otto123 am 18 November 2022, 21:48:10
hast Du alle Attribute gesetzt? https://fhem.de/commandref_modular.html#MQTT2_SERVER

da wären aus meinem Verstaendnis nur "SSL" auf "1".
Das Attribut "sslCertPrefix" ist mit dem Default "certs/server-" schon korrekt.
Habe ich jetzt aber dennoch gesetzt.

Leider ohne Erfolg.

Gruß
    Sailor
******************************
Man wird immer besser...

Sailor

Hallo Jamo

Zitat von: Jamo am 18 November 2022, 22:34:32
in der Owntracks app auf dem iPhone, in den Einstellungen rechts neben dem TLS Schiebeschalter ist das runde blaue i, wenn du da draufklicks kommt ein Menue, wo man "Allo Untrusted Certificates" auswaehlen kann. Kannst Du das mal probieren?

Leider nicht, weil ich da kein "i" habe.
Oder ich bin im falschen Menü gelandet?

Ich habe owntracks Version 2.4.10 (20410051) auf Android

Gruß
    Sailor
******************************
Man wird immer besser...

Sailor

Hallo Rudi

Zitat von: rudolfkoenig am 18 November 2022, 22:39:09
Nachtrag: der Vorschlag von @Jamo klingt logischer. In diesem Fall wuerde der Client dem Server diese Meldung mitteilen. Ich wuenschte mir, dass die openssl Meldungen verstaendlicher waeren.

Aha, das bedeutet also, dass diese Fehlermeldung nicht vom MQTT_SERVER stammt sondern von der APP, welche dann zurück gesendet wurde.
Das ergibt irgendwie Sinn.

Eine wie auch immer geartete Lösung müsste demnach auf der APP anzuwenden sein.
Nur welche...  :o

Frage @Jamo: Kannst du mir den genauen Eintrag aus deinem Config-File der APP übermitteln, damit ich ihn händisch einfügen kann?
Die findest du unter "Konfigurationseinstellungen".
Der Eintrag muss ja irgendwie das Schlüsselwort "Untrusted" und "allow" enthalten.

Danke!

Gruß
    Sailor
******************************
Man wird immer besser...

Otto123

Moin,

hast Du das Zertifikat in der App richtig implementiert?
https://owntracks.org/booklet/features/tlscert/

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Jamo

#39
Hallo Sailor,
ok Du hast Die Android App, ich habe ja ein iPhone / iOS, wie geschrieben. Hier der Screenshot von den Settings aus der iPhone config.otrc, ich weiss aber nicht ob das bei Android equivalent ist.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Sailor

Zitat von: Jamo am 19 November 2022, 11:40:53
Hallo Sailor,
Hier der Screenshot von den Settings aus der config.otrc, ich weiss aber nicht ob das bei Android equivalent ist.
Leider ein Fehlschlag.
Die App ist so schlau diesen als ungültigen Eintrag zu erkennen.

Gruß
    Sailor
******************************
Man wird immer besser...

Sailor

Hallo Otto

Zitat von: Otto123 am 19 November 2022, 11:24:36
hast Du das Zertifikat in der App richtig implementiert?
https://owntracks.org/booklet/features/tlscert/

Habe ich jetzt mal ganz genau so gemacht aber ich weiß nicht, wie ich dem MQTT_Server mitteile, diese Zertifikate auch zu verwenden.
Immerhin haben diese andere Endungen (.crt und .key anstatt -key.pem und -cert.pem) und somit haut das mit dem sslCertPrefix nicht hin.

Mir raucht der Kopf. Aber aufgeben ist nicht.

Gruß
    Sailor
******************************
Man wird immer besser...

Otto123

Hi,

ich bin noch nicht dazu gekommen das auch mal zu probieren, aber ich habe mal verstanden:
pkcs12 ist ein transportables Containerformat. Das will die owntracks App?
Man kann das Format aus cer und key Dateien erzeugen oder auch pkcs12 in key und cer wandeln.
Sieh mal hier habe ich sowas mal gemacht: https://forum.fhem.de/index.php/topic,111959.0.html

Mein Ansatz wäre: Die Dateien die der MQTT2 Server verwendet bzw. selbst erzeugt in pkcs12 wandeln und dann in die owntracks App importieren?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Sailor

Hall Otto

Zitat von: Otto123 am 19 November 2022, 14:08:40
ich bin noch nicht dazu gekommen das auch mal zu probieren, aber ich habe mal verstanden:
pkcs12 ist ein transportables Containerformat. Das will die owntracks App?
Man kann das Format aus cer und key Dateien erzeugen oder auch pkcs12 in key und cer wandeln.
Sieh mal hier habe ich sowas mal gemacht: https://forum.fhem.de/index.php/topic,111959.0.html
Mein Ansatz wäre: Die Dateien die der MQTT2 Server verwendet bzw. selbst erzeugt in pkcs12 wandeln und dann in die owntracks App importieren?

Die Zertifikate habe ich mittels
https://wiki.fhem.de/wiki/FHEM_mit_HTTPS_SSL-Zertifikat_und_eine_eigene_Zertifizierungsstelle
erzeugt und wie hier beschrieben https://wiki.fhem.de/wiki/Raspberry_Pi_%26_HTTPS in fhem eingebunden.

Der https:// - FHEMWEB - Zugang des fhem-Servers funktioniert darueber.

Anschliessend mit

sudo openssl pkcs12 -export -out server-cert.p12 -inkey server-key.pem -in server-cert.pem
sudo openssl x509 -outform der -in cacert.pem -out cacert.crt

das .p12 und .crt erzeugt und in owntracks eingebunden.
Fhem Server neu gestartet und leider immer noch ein


2022.11.19 16:10:34.332 3: Login denied via MQTTBroker_extern
2022.11.19 16:10:34.432 5: MQTT2_SERVER SSL/HTTPS error:  SSL accept attempt failed error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown (peer: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx)


:'(

Gruß
    Sailor
******************************
Man wird immer besser...

Otto123

Sorry ich war ein wenig auf dem Holzweg.
Ich habe mal mit dem Tool getestet: http://mqtt-explorer.com/
in FHEM habe ich einfach einen Server definiert
defmod mqtt2ssl MQTT2_SERVER 8883 global
attr mqtt2ssl SSL 1

Der nimmt die key und cert aus dem Pfad certs.
1. Versuch
mit mqtt explorer die Verbindung getestet - Verbindung funktioniert erst wenn validate certificate ausgeschaltet (war zu erwarten)
2. Versuch
Die Datei certs/server-cert.pem habe ich mir ins Windows geholt
scp pi@192.168.56.187:/opt/fhem/certs/server-cert.pem .
Dann im mqtt explorer unter advanced / certificates / server certificate  eingelesen. (Die Stelle sieht exakt so aus wie bei owntracks)
Im Hauptfenster validate certificate angelassen.
Verbindung funktioniert.

Die nächste Möglichkeit wäre noch Clientcertificate - aber das wolltest Du ja erstmal gar nicht. ;)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz