Intenté desesperadamente que mis clientes MQTT se conecten a mi agente MQTT, que está configurado con un certificado de una CA.
Para poder obtener el certificado de CA, he usado el comando letsencrypt python ( enlace )
./letsencrypt-auto certonly -d www.myserver.com
Esto me ha dado:
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
He puesto estos archivos dentro de mi /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
Y pude iniciar el agente, v1.4.8 bien:
[ ok ] mosquitto is running.
y del registro:
1457462631: mosquitto version 1.4.8 (build date Sun, 14 Feb 2016 15:06:55 +0000) starting
Cuando intento suscribirme al tema de prueba, para, bueno, probar, usando este comando del cliente:
mosquitto_sub version 1.4.8 running on libmosquitto 1.4.8.
Comando en ejecución:
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
Nada pasa en la línea de comando, así que asumo que está escuchando. Menos podría ser más cierto, en el archivo de registro esto aparece:
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.
Estoy perdido aquí. Cualquier ayuda es apreciada!