Python Mqtt Paho Client Problem mit SSL/TLS. SSLCertVerificationError

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
thegreenmile
User
Beiträge: 2
Registriert: Freitag 1. Juli 2022, 19:04

Hallo liebe Python Freunde,

ich habe auf einem Raspberry Pi 4 einen Mosquitto Server laufen mit folgender Konfiguration:

/mosquitto.conf

Code: Alles auswählen

listener 9993
#allow_anonymous true
cafile /etc/mosquitto/certs/ca.crt
keyfile /etc/mosquitto/certs/mqtt_server_priv_key.pem
certfile /etc/mosquitto/certs/mqtt_server_cert.crt
tls_version tlsv1.2
Über MQTT.fx kann ich problemlos auf den MQTT Broker zugreifen.
Auch die Python Software auf dem RPi4 konnte bislang anstandslos mit folgendem Verbindungscode zum Broker eine Verbindung erfolgreich herstellen:

Code: Alles auswählen

import paho.mqtt.client as paho

client = paho.Client(client_id="", clean_session=True,  userdata=None)  
mqtt_client = client

mqtt_client.tls_set(ca_certs="<my_path_to>ca.crt", tls_version=2)
mqtt_client.username_pw_set(username="<username>", password="<password>")
mqtt_client.connect("<my_dns_address>", 9993, keepalive=5, bind_address="")
mqtt_client.loop_start() 
Jetzt habe ich heute morgen ein apt upgrade auf meinem RPi4 durchgeführt, wodurch wohl irgendetwas mal wieder geupdatet wurde, wonach mal wieder etwas nicht mehr funktioniert - der Klassiker.
Jedenfalls erhalte ich wenn ich o.g. Code auf dem RPI4 ausführe nun folgenden Error-Trace:

Code: Alles auswählen

  File "DataController.py", line 1299, in mqtt_init
    mqtt_client.connect("mydns", 9993, keepalive=5, bind_address="")
  File "/usr/local/lib/python3.8/site-packages/paho/mqtt/client.py", line 941, in connect
    return self.reconnect()
  File "/usr/local/lib/python3.8/site-packages/paho/mqtt/client.py", line 1104, in reconnect
    sock.do_handshake()
  File "/usr/local/lib/python3.8/ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1123)
Ich bin für jeden Hinweis dankbar!

LG
thegreenmile
User
Beiträge: 2
Registriert: Freitag 1. Juli 2022, 19:04

Der Mosquitto Log dazu:

Code: Alles auswählen

1656701237: New connection from MyPC on port 9993.
1656701237: OpenSSL Error: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca
Antworten