跳至内容

使用mosquitto客户端连接Greengrass。

0

【以下的问题经过翻译处理】 有没有人成功使用mosquitto客户端连接到Greengrass core?

我们尝试使用注册的设备客户端证书/密钥和根CA证书在NODE-RED和我们自己的模拟器客户端中运行。

但是,在mosquitto(版本为1.4.5)和Eclipse Paho Python客户端中,我们使用完全相同的证书文件,但是mosquitto连接失败: %~/mimic/iot/mosquitto-1.4.5/mosquitto_sub -h 192.9.192.119 -i monitor-1 -p 8883 -t # --cafile root.ca.pem --cert d6eb066f72.cert.pem --key d6eb066f72.private.key --insecure --tls-version tlsv1.2 -V mqttv311 -d

客户端显示如下错误:

Error: A TLS error occurred.

在GG ConnManager.log中还出现了以下错误:

[2019-06-19T14:48:19.356-04:00][ERROR]-MQTT message decoding error: unable to decode received MQTT message. {"errorString": "remote error: tls: unknown certificate authority"}

在网上找不到任何能解决此问题的内容。奇怪的是,对广泛使用的开源工具的兼容,不是优先考虑的问题么?

专家
已提问 2 年前46 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,uwegambitcomm,

很抱歉回复你有些晚了。Mosquitto可用于连接到Greengrass core。我刚刚用 libmosquitto 1.4.15 和 Greengrass 1.9.2 进行了测试,一切工作正常。

根据你目前尝试的情况,你已经基本完成配置。你已从Greengrass组获取了CA,似乎正在将正确的选项传递给mosquitto_sub(至少在概念上)。你目前看到的错误消息(“Error: Problem setting TLS options.”)表明Mosquitto无法处理命令行参数。请确定你的文件路径正确。

在我的测试环境中,我向Greengrass组添加了一个设备,并在设备与IoT云的主题“my/topic”之间添加了订阅。

订阅:

$ mosquitto_sub -h <GGC IP> -i <DeviceThingName> -p 8883 -t my/topic --cert <DeviceCertFile> --key <DeviceKeyFile> -d --cafile <GroupCAFile>

发布:

$ mosquitto_pub -h <GGC IP> -i <DeviceThingName> -p 8883 -t my/topic -m "Hello, IoT" --cert <DeviceCertFile> --key <DeviceKeyFile> -d --cafile <GroupCAFile>

希望这可以帮到你。如果你还有其他问题,请随时联系。

谢谢,

-joe

专家
已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。