Sto disperatamente cercando di convincere i miei clienti MQTT a connettersi al mio broker MQTT che è stato configurato con un certificato da una CA.
Per poter ottenere il certificato CA, ho usato il comando letsencrypt python ( link )
./letsencrypt-auto certonly -d www.myserver.com
Questo mi ha dato:
lrwxrwxrwx 1 root root 41 Mar 6 23:50 cert.pem
lrwxrwxrwx 1 root root 42 Mar 6 23:50 chain.pem
lrwxrwxrwx 1 root root 46 Mar 6 23:50 fullchain.pem
lrwxrwxrwx 1 root root 44 Mar 6 23:50 privkey.pem
Ho inserito questi file nel mio /etc/mosquitto/mosquitto.conf:
cafile /etc/letsencrypt/live/www.myserver.com/chain.pem
certfile /etc/letsencrypt/live/www.myserver.com/cert.pem
keyfile /etc/letsencrypt/live/www.myserver.com/privkey.pem
E sono stato in grado di avviare il broker, v1.4.8 fine:
[ ok ] mosquitto is running.
e dal registro:
1457462631: mosquitto version 1.4.8 (build date Sun, 14 Feb 2016 15:06:55 +0000) starting
Quando provo ad iscrivermi all'argomento di test, per, beh, test, utilizzando questo comando dal client:
mosquitto_sub version 1.4.8 running on libmosquitto 1.4.8.
Esecuzione del comando:
root@titan:~# mosquitto_sub -h www.myserver.com -p 8883 -t test --cert /etc/letsencrypt/live/www.myserver.com/cert.pem --key /etc/letsencrypt/live/www.myserver.com/privkey.pem
Non succede niente nella linea di comando, quindi presumo che stia ascoltando. Meno potrebbe essere più vero, nel file di registro si apre:
1457462866: New connection from 127.0.0.1 on port 8883.
1457462866: OpenSSL Error: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol
1457462866: Socket error on client <unknown>, disconnecting.
Sono in perdita qui. Qualsiasi aiuto è apprezzato!