je me suis mosquitto de travail, en utilisant vieux TCP simple mais je veux le fixer avec SSL et TLS, alors j'ai suivi le guide suivant pour créer les certificats pour mon courtier mosquitto:Comment configurer TLS sur un courtier mosquitto (MQTT)?
https://mosquitto.org/man/mosquitto-tls-7.html
Puis j'ai ajouté la lignes suivantes dans le fichier de configuration:
listener 8883
cafile /mqtt/certs/ca.crt
certfile /mqtt/certs/server.crt
keyfile /mqtt/certs/server.key
require_certificate false
Mais maintenant, quand je tente d'utiliser mosquitto_sub sur une autre machine pour essayer de se connecter au courtier mosquitto sur le port 8883 (TLS), je reçois l'erreur suivante sur le courtier
New connection from XX.XXX.XXX.XXX on port 8883.
OpenSSL Error: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca
OpenSSL Error: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure
Socket error on client <unknown>, disconnecting.
J'ai essayé de faire la mosquitto_sub des façons suivantes:
$ mosquitto_sub -h "HOST_HERE.com" -t "sup" -p 8883
$ mosquitto_sub -h "HOST_HERE.com" -t "sup" -p 8883 --cafile ca.crt
$ mosquitto_sub -h "HOST_HERE.com" -t "sup" -p 8883 --cafile ca.crt --cert client.crt --key client.key
Et les certificats du côté client ont été générés à partir du premier lien je l'ai mentionné plus tôt.
Quelqu'un sait pourquoi cela se passe et comment je peux y remédier?
J'ai le même problème, mais mon courtier est sur AWS EC2 et par conséquent le nom d'hôte change tout le temps. L'utiliser comme nom commun n'a pas de sens. Y a-t-il d'autres moyens de régler le problème? – Nazar