我正在开发一个需要 TLS v1.3 和 MQTT v5.0 的应用程序,作为我工作的一部分,我必须在不同物理主机的 Debian 系统上构建 mosquitto MQTT 代理和订阅者。
从 mosquitto Github 存储库中,我设法构建了 mosquitto 库(v1.6.7)和二进制工具(它README.md
描述了默认情况下在构建时启用 TLS):
make WITH_DOCS=no
make install WITH_DOCS=no
我还设置了 CA 证书/服务器证书(用于 MQTT 代理),并进行了修改mosquitto.conf
(从这里学习)。当我尝试向我的 MQTT 代理发布消息时,出现以下错误:
mosquitto_pub -d --tls-version tlsv1.3 --cafile ./ca.crt -i rpi3peer -V mqttv5 -h 123.45.6.78 -p 8883 -u MY_BROKER_NAME -P BROKER_PASSWD -t "topic/placed/here" -m "put some messsage"
> Error: Protocol tlsv1.3 not supported
在 MQTT 代理上,它只是在 TCP 级别建立一个新连接,然后立即关闭,我还使用 Wireshark 在代理和客户端之间捕获了一些数据包,但是从那里没有 TLS v1.3 数据包。
我该如何处理这个问题?