Thingsboard采用安全证书x509进行设备连接和数据发送

前言

Thingsboard在物联网领域应用非常多,对于设备如何连接Thingsboard,网上也已经有很多参考,但多数是基于非加密MQTT(1883端口)通信。对于信息安全等级要求高的场景,必须使用安全证书进行加密通信,对于使用安全证书连接Thingsboard的介绍文章很少。下文将详细描述如何操作。

获取root chain 根证书或者自定义生成根证书

假设根证书文件名mqtt_root_chain.pem,和对应的keystore文件,一般为.jks文件.

生成自定义X.509证书

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out device.pem -sha256 -days 365 -nodes

其中key.pm,device.pem在后续会用到。

在Thingsboard设置文件thingsboard.yml中修改mqtt部分协议

定位到thingsboard.yml中transport的ssl部分,修改${MQTT_SSL_ENABLED}改为true。然后将mqtt_root_chain.pem和keystore的路径填入响应位置。

在Thingsboard设备管理界面,添加device.pem

在设备管理界面,修改管理凭据,改为x.509,将device.pem内容复制到“certificate in PEM format”这个窗口中。
在这里插入图片描述

设备端连接

以python为例,

client.connect(tls=True,
               ca_certs="mqtt_root_chain.pem",
               cert_file="device.pem",
               key_file="key.pem")

**

欢迎扫码加入Thingsboard技术交流QQ群。

**
欢迎加入Thingsboard技术交流2群

猜你喜欢

转载自blog.csdn.net/qq_27104889/article/details/128501066