Mosquitto TLS,适用于MQTTfx,但不适用于mosquitto_pub(tlsv1 alert unknown ca)

时间:2017-10-24 17:04:29

标签: ssl mqtt mosquitto

非常奇怪的问题

我有使用TLS的mosquitto经纪人

为“启用SSL / TLS,TLSv1.2,CA证书文件”设置的MQTTfx客户端可以正确访问它

openwrt mosquitto客户端发出

使用相同的ca.crt文件
 # mosquitto_pub -h x.x.x.x -p 8883 --cafile /etc/mosquitto/certs/ca.crt -i 1.1.1.1 -t test -m 123 -d

它返回

Client 1.1.1.1 sending CONNECT
Error: A TLS error occurred.

在另一端,经纪人显示

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 (null), disconnecting.

令我感到困惑的是,MQTTfx客户端被接受了,而且它使用相同的证书......!

New connection from y.y.y.y on port 8883.
New client connected from y.y.y.y as 180ce1c04c1944e1964608221efbcf0a (c1, k60).
Sending CONNACK to 180ce1c04c1944e1964608221efbcf0a (0)

应该意味着证书有效且值得信赖......不是吗? 那么使用完全相同的证书文件的其他客户端出了什么问题?!?!

1 个答案:

答案 0 :(得分:1)

...最后使用--insecure选项完成了这项工作。

表示验证服务器证书中的服务器主机名。 它有效,尽管在生产环境中使用此选项可能会使加密使用无效。