MQTT Absichern durch ein selbst signierten Zertifikats für Mosquitto
Version vom 21. Oktober 2024, 19:53 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==== Erstellung eines selbst signierten Zertifikats für Mosquitto ==== ==== CA-Schlüssel und Zertifikat erstellen ==== *'''openssl genrsa -out ca.key 2048''…“)
Erstellung eines selbst signierten Zertifikats für Mosquitto
CA-Schlüssel und Zertifikat erstellen
- openssl genrsa -out ca.key 2048
- openssl req -x509 -new -nodes -key ca.key -sha256 -days 365 -out ca.crt
Mosquitto-Schlüssel und Zertifikat erstellen
- openssl genrsa -out mosquitto.key 2048
- openssl req -new -key mosquitto.key -out mosquitto.csr
- openssl x509 -req -in mosquitto.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out mosquitto.crt -days 365 -sha256
Mosquitto-Konfiguration anpassen
Öffne die Konfigurationsdatei von Mosquitto:
- sudo nano /etc/mosquitto/conf.d/default.conf
Füge folgende Zeilen hinzu:
listener 8883 cafile /etc/mosquitto/certs/ca.crt certfile /etc/mosquitto/certs/mosquitto.crt keyfile /etc/mosquitto/certs/mosquitto.key require_certificate false
Starte den Mosquitto-Dienst neu:
- sudo systemctl restart mosquitto
CA-Zertifikat auf die Clients ausrollen
Kopiere das CA-Zertifikat (ca.crt) auf die Clients, damit sie der Verbindung vertrauen können.
MQTT-Nachrichten senden mit Zertifikat
Licht im Wohnzimmer einschalten
- mosquitto_pub -h $MQTTSERVER -t home/wohnzimmer/status -m "on" -u xinux -P geheim --cafile ca.crt -p 8883
Licht im Wohnzimmer ausschalten
- mosquitto_pub -h $MQTTSERVER -t home/wohnzimmer/status -m "off" -u xinux -P geheim --cafile ca.crt -p 8883
Zusammenfassung
Erstelle eine CA, um dein Mosquitto-Zertifikat zu signieren, und verteile das CA-Zertifikat auf die Clients, um eine verschlüsselte und vertrauenswürdige Verbindung zu gewährleisten.