Broker MQTT + certificat SSL Let’s Encrypt décembre 23, 2022 Suite a un update de ma machine qui gère les stations Météo, j’ai rencontré des soucis dans l’installation du certificat SSL Let’s Encrypt sur le broker MQTT. Normalement j’ai suivi ce tuto : https://obrienlabs.net/how-to-setup-your-own-mqtt-broker/ Mais au chapitre pour insérer le SSL dans le fichier de config , rien ne fonctionnait : il faut insérer 3 fichiers le certfile, le cafile et le keyfile dans le fichier de configuration : certfile /etc/letsencrypt/live/xxxx.yyyy.fr/cert.pem cafile /etc/letsencrypt/live/xxxx.yyyys.fr/chain.pem keyfile /etc/letsencrypt/live/xxxx.yyyy.fr/privkey.pem J’avais un message d’erreur du style : 1671805880: mosquitto version 2.0.11 starting 1671805880: Config loaded from /etc/mosquitto/mosquitto.conf. 1671805880: Opening ipv4 listen socket on port 1883. 1671805880: Opening ipv4 listen socket on port 8883. 1671805880: Opening ipv6 listen socket on port 8883. 1671805880: Error: Unable to load CA certificates. Check cafile "/etc/letsencrypt/live/xxxx.yyyy.fr/chain.pem". 1671805880: OpenSSL Error[0]: error:8000000D:system library::Permission denied 1671805880: OpenSSL Error[1]: error:10080002:BIO routines::system lib 1671805880: OpenSSL Error[2]: error:05880002:x509 certificate routines::system lib 1671805880: mosquitto version 2.0.11 starting 1671805880: Config loaded from /etc/mosquitto/mosquitto.conf. 1671805880: Opening ipv4 listen socket on port 1883. 1671805880: Opening ipv4 listen socket on port 8883. 1671805880: Opening ipv6 listen socket on port 8883. 1671805880: Error: Unable to load CA certificates. Check cafile "/etc/letsencrypt/live/xxxx.yyyy.fr/chain.pem". 1671805880: OpenSSL Error[0]: error:8000000D:system library::Permission denied 1671805880: OpenSSL Error[1]: error:10080002:BIO routines::system lib 1671805880: OpenSSL Error[2]: error:05880002:x509 certificate routines::system lib https://community.letsencrypt.org/t/mqtt-ssl-certificate-expired/163060/16 Mettre le fichier : cafile /etc/ssl/certs/ca-certificates.crt mettre egalement les 2 autres fichiers de certicats : root@meteo-Ubuntu:/etc/mosquitto/certs# pwd /etc/mosquitto/certs root@meteo-Ubuntu:/etc/mosquitto/certs# ll total 20 drwxr-xr-x 2 root root 4096 déc. 23 18:28 ./ drwxr-xr-x 5 root root 4096 déc. 23 16:57 ../ -rw-rw-rw- 1 root root 1854 déc. 23 17:09 cert.pem -rw-rw-rw- 1 root root 1708 déc. 23 17:09 privkey.pem -rw-rw-rw- 1 root root 130 févr. 7 2022 README root@meteo-Ubuntu:/etc/mosquitto/certs# Oui mais la encore des soucis de demarrage : 2022-12-23_18:23:50: mosquitto version 2.0.11 starting 2022-12-23_18:23:50: Config loaded from /etc/mosquitto/mosquitto.conf. 2022-12-23_18:23:50: Opening ipv4 listen socket on port 1883. 2022-12-23_18:23:50: Opening ipv4 listen socket on port 8883. 2022-12-23_18:23:50: Opening ipv6 listen socket on port 8883. 2022-12-23_18:23:50: Error: Unable to load server certificate "/etc/mosquitto/certs/cert.pem". Check certfile. 2022-12-23_18:23:50: OpenSSL Error[0]: error:8000000D:system library::Permission denied 2022-12-23_18:23:50: OpenSSL Error[1]: error:10080002:BIO routines::system lib 2022-12-23_18:23:50: OpenSSL Error[2]: error:0A080002:SSL routines::system lib Faire un chmod 0600 des fichiers pem Navigation de l’article Systemctl : 2 instances avec les logs séparésNouvelle année, nouvelle installation et nouveautés !