MQTT plain oder SSL

Hallo,

nachdem die MQTT-Verbindung über SSL mit ioBroker als mqtt-Server nicht zum Laufen zu bringen war, habe ich nun einen eigenen Mosquitto-Server eingerichtet und SSL dort aktiviert. Dies funktioniert auch, über MQTT-Clients kann ich topics fehlerfrei setzen und abrufen.

Die Kamera (IN-9008) verbindet sich ebenfalls fehlerfrei mit dem Server, aber nur über plain (Port 1883), nicht über SSL/TLS (Port 8883). Im Kamera-Setup sind beide Ports eingetragen (den non-SSL Port einfach leer zu lassen funktioniert nicht.) Das Log der Kamera (/tmpfs/mqtt-log) zeigt, daß sich die Kamera direkt nach Aktivieren von MQTT mit server:1883 verbindet, es gibt kein Zeichen, daß server:8883 zuvor versucht worden wäre. Der Webserver der Kamera verfügt über ein hochgeladenes Zertifikat.

Muß die Verbindung noch irgendwo manuell auf SSL umgeschaltet werden?

MfG

Hallo @150d ,

hast du schon mal probiert den nicht-TLS Port in der Kamera zu ändern? Dann kann der Broker sich nur noch über TLS verbinden und man hat sichergestellt, dass die Kommunikation immer verschlüsselt abläuft.

Hallo,

ja, habe ich: Wenn der Broker zeitweise nicht erreichbar ist, scheint die Kamera zyklisch beide Ports durchzuprobieren. Startet der Broker wieder, ist es vom Zufall abhängig, mit welchem Port die Verbindung wiederhergestellt wird.

Man könnte nun natürlich einen beliebigen Port für „plain“ eintragen, sodaß die Verbindung damit immer scheitert und früher oder später der TLS-Port benutzt wird. Schön ist das aber nicht gerade.

MfG

Huhu,

der Mqtt Service der Kamera hat eigentlich keine Logik enthalten, die dafür Sorgen könnte, dass er zwischen TLS und non TLS hin und her wechselt. Wenn das Zertifikat in der Mqtt Oberfläche hochgeladen wurde, wird versucht eine TLS Verbindung herzustellen, wenn das nicht klappt wird keine Verbindung hergestellt und eine entsprechende Fehlermeldung über das Log ausgegeben. Eine Versuch eine unverschlüsselte Verbindung herzustellen findet dann nicht statt.