Openssl Mosquito_pub给出以下错误:1408F10B:SSL例程:ssl3_get_记录:版本号错误
我已经将MOSQUITO配置为在端口8883上侦听,并为服务器生成了letsencrypt SSL证书。到目前为止还不错 我可以成功测试TLS连接:Openssl Mosquito_pub给出以下错误:1408F10B:SSL例程:ssl3_get_记录:版本号错误,openssl,mqtt,lets-encrypt,mosquitto,Openssl,Mqtt,Lets Encrypt,Mosquitto,我已经将MOSQUITO配置为在端口8883上侦听,并为服务器生成了letsencrypt SSL证书。到目前为止还不错 我可以成功测试TLS连接: openssl s_client-connect mqtt.example.com:8883向我提供证书和会话信息,mosquitto的日志报告连接成功 我还可以使用paho python库成功发布消息 但是,当我尝试使用mosquitto_pub时,它会执行以下操作: $ mosquitto_pub -h mqtt.example.com -p
openssl s_client-connect mqtt.example.com:8883
向我提供证书和会话信息,mosquitto的日志报告连接成功
我还可以使用paho python库成功发布消息
但是,当我尝试使用mosquitto_pub
时,它会执行以下操作:
$ mosquitto_pub -h mqtt.example.com -p 8883 -u foobar -P "" -t foobar -m test
Client connection from XX.XX.XX.XX failed: error:1408F10B:SSL routines:ssl3_get_record:wrong version number.
这似乎是一个常见的问题,但我发现搜索web的所有解决方案似乎都不适用于我,因为它们通常涉及到客户端使用一个
所以我被难住了。有人知道导致此错误的原因吗?要获取
mosquitto_pub
要尝试启动SSL连接,您需要提供指向CA证书位置的--cafile
或--capath
,以验证代理
没有这些选项,mosquitto_pub
或mosquitto_sub
都不会尝试启动SSL会话,而是尝试使用正常的未加密MQTT连接进行连接
在大多数Linux发行版上,您可以使用
--capath
并指向/etc/ssl/certs
目录啊,谢谢,我没有意识到mosquitto\u pub
默认情况下不信任证书。Lifesaver。我没有意识到需要capath,因为我认为它是用于自签名证书的,客户端会接受letsencrypt作为“非自签名=全局受信任”CA。我没有意识到它首先需要一个受信任CA列表,而/etc/ssl/certs正是这一点。linux发行版附带了一个可信CA列表,它是如此透明,以至于我忘记了它。