ESP32 und MQTT mit SSL/TLS, Passwort und Client-Zertifikat

OP #7503112
Lesenswert?
• ▲
▼

Hallo!

Ich versuche ein Lilygo-T-SIM7000G Entwicklungsboard mit einem MQTT-Server (Port 8883 per SSL/TLS, Authentifizierung mit username/password, client-certificate benötigt) per GSM zu verbinden.

(Hier der Link zum Board: https://www.amazon.de/dp/B099RQ7BSR?ref=nb_sb_ss_w_as-reorder-t1_k0_1_6&amp=&crid=1SCEQBF2W1Q7A&amp=&sprefix=lilygo )

Ich benutze zum Programmieren Visual Studio Code mit PlatformIO mit Arduino-Framework.

Habe auch schon diese recht aktuell anmutende Bibliothek gefunden: SSLClient https://github.com/govorox/SSLClient

Es gibt auch ein Beispielcode für genau meinen Anwendungsfall und genau mein Board: https://github.com/govorox/SSLClient/tree/master/examples/Esp32/mqtt_secure_gsm_SIM7000

Habe dieses Beispiel genommen, die entsprechenden Variablen angepasst (SIM-PIN, apn, user, password, Zertifikate, etc.) und auf den ESP32 des Lilygo-Boards aufgeflasht.

Am seriellen Monitor konnte ich beobachten, dass das Board sich mit dem Mobilfunknetz (auch Internet, es zeigt die IP-Adresse an) verbindet und dann jedoch folgende Fehlermeldung kommt:

1
Attempting MQTT connection...[ 18962][E][ssl_client.cpp:41] _handle_error(): [start_ssl_client():347]: (-29696) SSL - No RNG was provided to the SSL module
2
[ 18963][E][SSLClient.cpp:133] connect(): start_ssl_client: -29696
3

4
assert failed: heap_caps_free heap_caps.c:360 (heap != NULL && "free() target pointer is outside heap areas")
5

6
Backtrace: <anonymized>
7

8
ELF file SHA256: <anonymized>
9

10
Rebooting...

Ich habe bereits gegoogelt, dass RNG Random Number Generator bedeutet. Ich weiß auch, dass man das braucht, um sichere Schlüssel generieren zu können und dass man dafür einen nicht angeschlossenen analogen Pin nehmen kann. Aber ich weiß nicht, wie ich den Code anpassen sollte, um dies zu erreichen.

Ich habe auch diese ältere Bibliothek gefunden, der noch die Möglichkeit bietet, so einen Analog-Pin festzulegen: https://github.com/OPEnSLab-OSU/SSLClient

Die selbe Funktion in der aktuelleren Bibliothek hat diese Funktion nicht mehr.

Die ältere Bibliothek wurde aber seit 3 Jahren nicht mehr angegriffen und es steht auch "failing" bei der Anzeige, die normalerweise grün sein sollte (In der obersten Zeile von Readme.md).

Kennt sich jemand mit diesem Problem aus? Habt ihr Erfahrung mit diesem Problem? Könnt ihr vielleicht eine Lösung für dieses Problem empfehlen? Oder eine andere Bibliothek?

Danke im Voraus!

Gruß, elpat

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.