ERROR Mosquitto SSL Configuration TLS with MQTT and MOSQUITTO SOLUTIONS
septiembre 23, 2020Hola a todos, como saben estoy haciendo mi tesis en el campo de IoT. Quiero compartir aquí las posibles soluciones cuando se generan problemas al generar las claves de seguridad para los clientes MQTT y el broker.
PRIMERO QUE TODO, si quieres saber los pasos que debes seguir para generar los certificados CA y su firma, puede ir al siguientes enlace :http://www.steves-internet-guide.com/mosquitto-tls/
Allí estan los pasos a seguir para la configuración del SSL en mosquitto. Sin embargo esta entrada se centrará en buscar las soluciones cuando se generen errores en la verificacion de claves. Cuando generé las claves tuve los mil y un errores hasta que di con la solución de todo los errores que se pudieron estar ocasionando, aqui enumeraré solo algunos con los que me encontré.
Errores típicos que suelen aparecer cuando se configura el SSL/TLS
- "Error: A TLS error occurred."
- 2020-09-21|23:16:44: OpenSSL Error[0]: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol
- [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)
- OpenSSL Error[1]: error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure
- OpenSSL Error[0]: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca
CN = iot.eclipse.mosquitto
2) Solución 2
Si después de crear bien sus certificador y claves CA y Server aún aparece un problema es probable que se deba a que tenga activada la autentificación de usuario y contraseña
Pruebe:
$mosquitto_sub -h 192.168.0.130 -p 8883 -t "test/1" -u <user> - P <password> --cafile /etc/mosquitto/certs/ca.crt
$mosquitto_pub -h 192.168.0.130 -p 8883 -t "test/1" -m "HELLOOO"-u <user> - P <password> --cafile /etc/mosquitto/certs/ca.crt
Si se genera la conexión entonces era un problema de autenticación y solo le faltaba agregar su usuario y contraseña. Ahora si aún le sale algun error, verifique la ruta donde tiene almacenado los certificado por lo general se agregar a la carpeta de /etc/mosquitto/certs/
3) Solución 3
Revise su configuración de mosquitto, verifique que no hayan espacios adicionales a los necesarios.
En el archivo de configuración mosquitto, las líneas de los parámetros de configuración con los nombres de archivo cert, key y CA contenían un carácter de 'espacio' después de cada nombre de archivo y antes del carácter de fin de línea.
Su configuración debe lucir así
También puede ser que su computadora no este escuchando el puerto 8883, para eso verifique con el siguiente comando:
netstat --listen
si no aparece 8883, abra el puerto con el comando :
sudo ufw allow 8883
6) Solución 6
Otro error común es que creen las llaves de seguridad es que posiblemente creó lo archivos (CA y Server) en el escritorio y al momento de copiarlo en la ruta de cartificados de mosquitto (/etc/mosquitto/certs) NO utilizaron el comando correcto.
Si creaste los archivos en otra parte diferente a la carpeta "certs" y deseas moverlo a la carperta "CERTS", utiliza el siguiente comando: "cp" en vez de "mv":
0 comentarios