我想建立从ESP8266到mosquitto MQTT服务器的TLS连接。
我正在使用Adafruit example INO和WiFiClientSecure,它成功连接到我的Wifi可以与其他MQTT服务器一起使用(例如iot.eclipse.org:8883)
正当我试图连接到我自己的mosquitto实例时,它失败了 在mosquitto日志中显示:
OpenSSL错误:错误:1408A10B:SSL例程:SSL3_GET_CLIENT_HELLO:版本号错误
我的mosquitto.conf看起来像这样
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
allow_anonymous false
listener 51883
password_file /etc/mosquitto/pwfile
conf.d包含:
cafile /etc/letsencrypt/live/<my-domain>/fullchain.pem
certfile /etc/letsencrypt/live/<my-domain>/fullchain.pem
keyfile /etc/letsencrypt/live/<my-domain>/privkey.pem
使用let的加密生成证书 - 来自MQTT-Dash(Adnroid App)的连接完美运行。
我无法弄清楚WiFiClientSecure正在使用哪个TLS版本或如何定义它。
答案 0 :(得分:0)
今天看到question这个问题,看来你可能不得不指定一个tls_version
才能让事情发挥作用
listener 8883 certfile /etc/letsencrypt/live/home.kamidesigns.be/cert.pem cafile /etc/letsencrypt/live/home.kamidesigns.be/chain.pem keyfile /etc/letsencrypt/live/home.kamidesigns.be/privkey.pem tls_version tlsv1.2