Makee Geschrieben February 9, 2024 at 14:09 Geschrieben February 9, 2024 at 14:09 Hallo zusammen, vielleicht kann mir einer von euch helfen. Ich habe einen MQTT-Broker auf einer VM laufen. Der Broker hört auf den Port 8883 mit einem selbst-signiertem Zertifikat und require_certificate ist auf false, damit die Clients kein Zertifikat benötigen, sondern nur der Server (falls ich das richtig verstanden habe). Nun zu meinem Problem, mein ESP32-Brick kann sich nicht auf den Port 8883 verbinden. Ich habe in der mqtt_cfg folgende Zeile eingefügt (wegen meinem selbst-signiertem Zertifikat): mqtt_cfg.skip_cert_common_name_check = true; Der ESP verbindet sich nicht und beim Broker erhalte ich folgende Meldung: OpenSSL Error[0]: error:0A00010B:SSL routines::wrong version number Heißt es wird anscheinend die falsche TLS Version genutzt. Ich weiß aber leider nicht wo ich die Version einstellen kann bzw. sehen kann welche Version vom ESP verwendet wird. Hat hier jemand Tipps für mich wie ich die Verbindung über TLS hinbekomme? Grüße Markus Zitieren
MatzeTF Geschrieben February 9, 2024 at 14:35 Geschrieben February 9, 2024 at 14:35 Der ESP32 Brick unterstützt aktuell leider noch kein MQTT über TLS, sondern nur unverschlüsselte Verbindungen. MQTTS steht auf unserer Todo-Liste, aber zugegebenermaßen nicht sehr weit oben. Zitieren
rtrbt Geschrieben February 14, 2024 at 14:31 Geschrieben February 14, 2024 at 14:31 @Makee Da du ja eine eigene Firmware baust: Ich habe den MQTTS-Support gerade gepusht. Sollte jetzt einfach funktionieren. Zitieren
Makee Geschrieben February 15, 2024 at 08:42 Autor Geschrieben February 15, 2024 at 08:42 Hi rtrbt, danke für's pushen. Ich habe es gerade versucht, hat leider nicht geklappt. Muss das Server-Zertifikat auf dem ESP gespeichert sein? Mich verwirrt die Option "Eingebettetes Zertifikatsbundle" etwas. Am Broker erhalte ich jetzt folgende Meldung: OpenSSL Error[0]: error:0A000419:SSL routines::tlsv1 alert access denied Grüße Zitieren
rtrbt Geschrieben February 15, 2024 at 11:54 Geschrieben February 15, 2024 at 11:54 Sorry, ich hatte überlesen, dass du ein selbst-signiertes Zertifikat hast. Wenn du die Firmware mit dem Certs Back- und Frontend-Modul kompilierst, dann kannst du auf dem Webinterface das selbst-signierte Zertifikat hochladen und für die MQTT-Verbindung auswählen. Ohne das Certs-Modul wird nur das eingebettete Zertifikatsbundle verwendet. Das ist eine Sammlung von Root-Zertifikaten, mit denen der ESP Verbindungen zu Servern mit "echten" (also nicht selbst-signierten) Zertifikaten aufbauen kann: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/protocols/esp_crt_bundle.html Zitieren
Makee Geschrieben February 19, 2024 at 07:55 Autor Geschrieben February 19, 2024 at 07:55 Hi rtrbt, danke für die Rückmeldung. Ich hatte heute erst Zeit weiterzumachen. Mit dem hochgeladenen Zertifikat funktioniert es jetzt. Vielen Dank Grüße Markus Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.