前言
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群。
**