Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. MQTT mit SSL und selbst-signiertem Zertifikat

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    719

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

MQTT mit SSL und selbst-signiertem Zertifikat

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
mqtt ssl self-signed cert
4 Beiträge 4 Kommentatoren 3.8k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • W Offline
    W Offline
    Wolfgang Denk
    schrieb am zuletzt editiert von
    #1

    Ich versuche MQTT mit SSL und selbst-signiertem Zertifikat zum Laufen zu bringen.

    Ich trage im MQTT Broker/Client unter "Publikzertifikat" mein Server Certificate ein, und unter "Privatzertifikat" meinen Server Key. Ist das soweit richtig?

    Dann gibt es da noch das "Kettenzertifikat" - ich finde keine Doku, was das genau ist, und ich kann da auch nur "keins" als einzige Möglichkeit wählen.

    Wenn ich jetzt im MQTT Client ebenfalls SSL aktiviere, sehe ich im Log:

    mqtt-client.0 2019-04-23 21:35:34.531 warn client error: Error: self signed certificate

    Wie kann ich dafür sorgen, dass das selbst-signierte Zertifikat ohne Fehlermeldung akzeptiert wird?

    Ich will definitiv nicht die Prüfung abschalten, wie es leider oft empfohlen wird - ich möchte dafür sorgen, dass mein Zertifikat akzeptiert wird.

    Wie geht das?

    Vielen Dank im voraus!

    1 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      Balu1973
      schrieb am zuletzt editiert von Balu1973
      #2

      Hi,

      ich habe das nach dieser Anleitung gemacht:

      https://www.auxnet.de/verschluesseltes-mqtt-vom-und-zum-mosquitto-server/

      Ging damit recht einfach. Ein Zwischenzertifikat (oder Kettenzertifikat) brauchst Du nicht unbedingt.

      Grüße,
      Balu

      1 Antwort Letzte Antwort
      0
      • foxriver76F Offline
        foxriver76F Offline
        foxriver76
        Developer
        schrieb am zuletzt editiert von
        #3

        Muss das eher unbeantwortete Thema nochmal auffrischen. Probiere aktuell auch eine SSL Verbindung zu meiner MQTT Adapterinstanz aufzubauen. Habe das eingestellte Public Zertifikat auf meinem Client und gebe dieses mit. Die Verbindung schlägt fehl, der Adapter loggt hierbei auf keinem Loglevel etwas passendes.

        Mein Client sagt mir nur Error: A TLS error occurred..

        Getestet habe ich das ganze unter Ubuntu mittels mosquitto_pub. Aufruf schaut so aus:

        mosquitto_pub -u "myUsername" -P "myPassword" -p 1883 -h 192.168.180.64 -t 'test_topic' -m 'test message' --cafile /home/moritz/Schreibtisch/cert.crt

        Ohne SSL funktioniert es problemlos.

        Hat jemand eine Verbindung zum MQTT Adapter (als Server) mittels SSL laufen und weiß evtl was ich falsch mache? ;-)

        beste Grüße

        fox

        Videotutorials & mehr

        Hier könnt ihr mich unterstützen.

        1 Antwort Letzte Antwort
        0
        • systemofapwneS Offline
          systemofapwneS Offline
          systemofapwne
          schrieb am zuletzt editiert von
          #4

          Ich war ebenfalls auf der Suche nach einer Lösung. Ich konnte die Ursache des Problems etwas eingrenzen. Zunächst scheint die Kommunikation mittels TLS zum Adapter bei mir zu funktionieren.

          Das hier ist in etwa die Kette an nodejs modulen, die involviert sind

          iobroker.mqtt -(erzeugt objekt)-> tls -(wird übergeben an)-> mqtt-connection -(nutzt für decodierung...)-> mqtt-packet

          Das modul mqtt-connection selber ist derived vom Paket duplexify und nutzt intern das node module mqtt-packet für die eigentliche mqtt Verarbeitung.
          Ab dem Modul "mqtt-connection" passiert allerdings nichts weiter mit der (erfolgreich aufgebauten) tls verbindung. Es werden keine Daten weiter gereicht. Für mich sieht es so aus, als wenn duplexify mit dem tls objekt nicht weiter Arbeiten kann.
          Nach knapp einen ganzen Tag des erfolglosen Debuggens habe ich die native Unterstützung von TLS über iobroker.mqtt aufgegeben.
          Stattdessen nutzt ich nun nginx als TLS proxy (basierend auf diesem Tutorial)

          Hier ist meine nginx config

          stream {
          	log_format mqtt '$remote_addr [$time_local] $protocol $status $bytes_received ' '$bytes_sent $upstream_addr';
          
          	server {
          		listen 8883 ssl; # MQTT secure port
          
          		ssl_certificate     /path/to/certificates/self.crt;
          		ssl_certificate_key /path/to/certificates/self.key;
          		ssl_ciphers         HIGH:!aNULL:!MD5;
          		#ssl_session_cache   shared:SSL:128m; # 128MB ~= 500k sessions
          		ssl_session_tickets on;
          		ssl_session_timeout 8h;
          
          		proxy_pass <ip zu iobroker, wo MQTT drauf läuft>:1883;
          		proxy_connect_timeout 1s;
          
          		access_log /var/log/nginx/mqtt_access.log mqtt;
          		error_log  /var/log/nginx/mqtt_error.log info; # nginScript debug logging
          	}
          }
          

          Jetzt verbindet sich mein Tasmota Endgerät über MQTT+TLS verschlüsselt zu meinem iobroker.

          1 Antwort Letzte Antwort
          2
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          541

          Online

          32.6k

          Benutzer

          82.0k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe