IBM Watson物联网平台:使用客户端证书和mosquitto客户端连接

问题描述 投票:0回答:1

尝试使用客户端证书和mosquitto客户端连接到IBM Watson物联网平台时出现以下错误。相同的证书与node.js客户端工作正常,因此我知道证书很好,只是在mosquitto客户端中的一些配置是错误的。

mosquitto_sub -h dumorg.messaging.internetofthings.ibmcloud.com -p 8883 --capath ./certs/ -t "iot-2/type/dumtype/id/dumid/cmd/+/fmt/json" -v  -i g:dumorg:dumtype:dummid --cert ./client.crt --key ./client.key

连接被拒绝:未经授权。

当我尝试使用auth-token执行相同的连接时,它会很好

$ mosquitto_sub -h dumorg.messaging.internetofthings.ibmcloud.com -p 8883 --capath ./certs/ -t "iot-2/type/dumtype/id/dumid/cmd/+/fmt/json" -v  -i g:dumorg:dumtype:dumid -P dumpassword -u use-token-auth

我也能够通过另一个客户端使用证书成功连接。我知道证书很好,mosquitto命令与auth令牌一起使用。因此,由于物联网平台不喜欢用于连接mosquitto的证书,因此问题是mosquitto中的一些缺失/不正确的配置?

ibm-cloud mqtt mosquitto watson-iot
1个回答
1
投票

似乎mosquitto不支持连接到IBM云上的MQTT代理所需的SNI。手动插入此补丁https://github.com/eclipse/mosquitto/pull/626并构建mosquitto解决问题。希望这在不久的将来合并在主要分支。

© www.soinside.com 2019 - 2024. All rights reserved.