4.4 MQTT 场景--使用 MQTT.fx 接入设备发放示例
4.4.2 MQTT X.509 证书认证设备使用证书策略发放示例
获取设备发放终端节点
区域名称 区域 终端节点(Endpoint) 端口 协议 华北-北京
四
cn-north-4
iot-bs.cn-north-4.myhuaweicloud.com 8883 MQTTS
整体流程
制作 CA 证书
步骤1 在浏览器中访问这里,下载并进行安装OpenSSL工具,安装完成后配置环境变量。
步骤2 在 D:\certificates 文件夹下,以管理员身份运行cmd命令行窗口。
步骤3 生成密钥对(server.key):
说明
生成“密钥对”时输入的密码在生成“证书请求文件”、“CA证书”以及“验证证书”时需要 用到,请妥善保存。
openssl genrsa -des3 -out server.key 2048
步骤4 使用密钥对生成证书请求文件:
说明
生成证书请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说 明如下表1 所示。
表4-2
提示 参数名称 取值样例
Country Name (2 letter
code) []: 国家/地区 CN
State or Province Name
(full name) []: 省/市 GuangDong Locality Name (eg, city)
[]: 城市 ShenZhen
Organization Name (eg,
company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd.
Organizational Unit
Name (eg, section) []: 机构部门 Cloud Dept.
Common Name (eg, fully
qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 /
A challenge password []: 证书密码,如您不设置密
码,可以直接回车 /
openssl req -new -key server.key -out server.csr
步骤5 生成CA证书(server.crt):
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
----结束
1. 为私有密钥验证证书生成密钥对。
openssl genrsa -out client.key 2048
2. 获取随机验证码。
3. 利用此验证码生成证书请求文件CSR。
openssl req -new -key client.key -out client.csr 说明
CSR文件的Common Name (e.g. server FQDN or YOUR name) 需要填写此验证码。
4. 使用由CA私有密钥签名的CSR创建私有的验证证书(client.crt)。
openssl x509 -req -in client.csr -CA server.crt -CAkey server.key -CAcreateserial -out client.crt -days 500 -sha256
说明
注册设备
在设备发放控制台,注册MQTT设备,其中安全模式选择X.509认证模式,选择对应的 CA证书,填写证书指纹,注册X.509认证设备。
说明
证书指纹是根据证书生成的唯一识别证书的标识。如果支持设备自注册,在设备首次认证时不会 去认证设备ID和设备证书的关系。
连接鉴权
MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows, Mac, Linux,可以快速 验证是否可以与设备发放服务进行连接并发布或订阅消息。
本文主要介绍 MQTT.fx 如何与华为设备发放交互,其中设备发放服务MQTT的南向接 入地址请参考获取终端节点。
设备接入
快速入门 4 设备发放入门
1. 打开 MQTT.fx 下载页面,下载并安装 MQTT.fx 客户端(以 MQTT.fx 1.7.0 for Windows版本为例)。
2. 打开 MQTT.fx 客户端程序,单击“设置”。
3. 填写 Connection Profile 相关信息。其中General 可以使用工具默认信息。
说明
其中Broker Address和Broker Port可以参考获取终端节点,Client ID 可以参考MQTT CONNECT连接鉴权参数说明。
4. 填写 User Credentials 信息。
说明
其中Username 参考MQTT CONNECT连接鉴权参数说明(无需填写Password)。
5. 选择开启 SSL/TLS,勾选 Self signed certificates,配置相关证书内容。
设备接入
快速入门 4 设备发放入门
说明
● CA File为设备发放对应的CA证书。
● Client Certificate File为设备的设备证书。
● Client Key File为设备的私钥。
6. 完成以上步骤设置后,单击“Apply”和“OK”保存,并在配置文件框中选择刚 才创建的文件名,单击“Connect”,当右上角圆形图标为绿色时,说明连接设备 发放服务成功,可进行订阅(Subscribe)和消息推送(Publish)操作。
引导消息订阅
按照设备接收引导信息topic填写对应的topic,单击“Subscribe”进行订阅。订阅成功 如下所示:
引导请求发布
按照设备请求引导信息topic填写对应的topic,单击“Publish”进行消息推送。
接收到引导消息
2. 单击Disconnect,断开与设备发放的连接;
3. 将引导信息中的设备接入地址填入MQTT.fx的MQTT Broker Profile Settings中的 Broker Address和Broker Port,建立与设备接入的连接;
4. 完成与设备接入的上报数据等业务交互。
您可参考指导:设备接入 IoTDA> 开发指南> 设备侧开发> 使用MQTT Demo接入>
使用MQTT.fx调测中的【上报数据】和【进阶体验】部分。
cn-north-4
iot-bs.cn-north-4.myhuaweicloud.com 8883 MQTTS 设备接入
快速入门 4 设备发放入门