Ibm cloud IBM watson物联网平台:使用客户端证书和;莫斯奎托客户

Ibm cloud IBM watson物联网平台:使用客户端证书和;莫斯奎托客户,ibm-cloud,mqtt,mosquitto,watson-iot,Ibm Cloud,Mqtt,Mosquitto,Watson Iot,我在尝试使用客户端证书和Mosquito客户端连接到IBM Watson物联网平台时遇到以下错误。同样的证书可以在node.js客户端正常工作,因此我知道证书是正常的,只是Mosquito客户端中的一些配置是错误的 mosquitto_sub -h dumorg.messaging.internetofthings.ibmcloud.com -p 8883 --capath ./certs/ -t "iot-2/type/dumtype/id/dumid/cmd/+/fmt/json" -v

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

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令牌执行相同的连接时,它会正常运行

$ 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平台不喜欢用于连接MOSQUITO的证书?

MOSQUITO似乎不支持SNI,而SNI是连接到IBM云上的MQTT代理所必需的。手动插入此修补程序并构建MOSQUITO解决了此问题。希望在不久的将来将其合并到主分支中