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

时间:2018-01-08 05:03:32

标签: ibm-cloud mqtt mosquitto watson-iot

尝试使用客户端证书和安装程序连接到IBM Watson物联网平台时出现以下错误mosquitto客户端。相同的证书与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中的一些缺失/不正确的配置,因为IoT平台不喜欢用于连接mosquitto的证书?

1 个答案:

答案 0 :(得分:1)

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