37
02 快速入门 02 快速入门 文档版本 01 发布日期 2020-01-13 华为技术有限公司

02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

02 快速入门

02 快速入门

文档版本 01

发布日期 2020-01-13

华为技术有限公司

Page 2: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

版权所有 © 华为技术有限公司 2020。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 商标声明

和其他华为商标均为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或默示的声明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 i

Page 3: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

目 录

1 使用前必读.................................................................................................................................. 1

2 接口说明......................................................................................................................................32.1 MQTT CONNECT 连接鉴权................................................................................................................................................... 32.2 设备请求引导消息.................................................................................................................................................................... 42.3 设备接收引导信息.................................................................................................................................................................... 5

3 MQTT 秘钥接入示例................................................................................................................. 6

4 MQTT X509 证书认证接入示例............................................................................................. 11

5 MQTT 注册组接入示例........................................................................................................... 17

6 MQTT 华为云 X509 证书认证接入示例.................................................................................23

7 MQTT 华为云证书注册组接入示例........................................................................................ 29

02 快速入门02 快速入门 目 录

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 ii

Page 4: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

1 使用前必读

MQTT 概述

MQTT标准规范参见《mqtt-v3.1.1-os.pdf》。

说明

MQTT的语法和接口细节,请以此标准为准。平台目前只支持MQTTS接入。

MQTT消息分为固定报头(Fixed header)、可变报头(Variable header)和有效载荷(Payload)部分。

固定报头(Fixed header)和可变报头(Variable header)格式的填写直接MQTT标准规范。有效载荷(Payload)部分在PUB消息中可以由应用定义,即设备和设备发放平台之间自己定义。

下面主要介绍CONNECT、SUB和PUB消息格式的填写。

● CONNECT - Client requests a connection to a server有效载荷(Payload)中的主要参数填写,具体参见MQTT CONNECT连接鉴权。

● SUBSCRIBE - Subscribe to named topics有效载荷(Payload)中的主要参数填写:Topic name,填写为设备想要订阅的主题消息,目前填写为设备自己的topic,具体参见Topic说明。

● PUBLISH - Publish message– 可变报头(Variable header):Topic name,设备发往设备发放平台时,为

平台的Topic name,设备接收消息时,为设备的Topic name,具体参见Topic说明。

– 有效载荷(Payload)中的主要参数填写:为完整的数据上报和命令下发的消息内容,目前是一个JSON对象。

Topic 说明● 设备发放平台作为消息接收方时,已默认订阅了相关Topic,设备只要向对应Topic

发送消息,设备发放平台就可以接收。

● 设备作为消息接收方时,需要先订阅相关Topic,这样设备发放平台向对应Topic发送消息时,设备才能接收到。设备需要根据具体实现的业务来决定订阅哪些Topic。

02 快速入门02 快速入门 1 使用前必读

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 1

Page 5: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

Topic 消息发送方

(Publisher)

消息接收方

(Subscriber)

说明

$oc/devices/{device_id}/sys/bootstrap/up

设备 设备发放平台

设备向发放服务请求对应设备发放平台的引导信息。

$oc/devices/{device_id}/sys/bootstrap/down

设备发放平台

设备 设备接收发放服务下发的引导信息。

02 快速入门02 快速入门 1 使用前必读

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 2

Page 6: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

2 接口说明

2.1 MQTT CONNECT 连接鉴权

接口功能

设备发放平台设备侧支持MQTT协议的connect消息接口,接口规范参考MQTT标准规范,鉴权通过后建立设备与平台间的MQTT连接。

说明

设备发放平台目前只支持MQTTS接入,设备通过connect消息接口跟平台建立MQTT连接时,需要携带TLS证书。TLS证书请点击获取Agent Lite目录下的TLS证书。

参数说明

参数 必选/可选

类型 参数描述

02 快速入门02 快速入门 2 接口说明

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 3

Page 7: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

clientId

必选 String(256)

注册组选择非华为云证书场景:

设备clientId由3个部分组成:设备ID、设备身份标识类型、用户标识ID(ScopeID)。通过下划线“_”分隔,设备身份标识类型固定值为0例:5f052ac562369102d42b0fb6_0_ff5bbx7a488f其他场景:

设备clientId由4个部分组成:设备ID、设备身份标识类型、密码签名类型、时间戳。通过下划线“_”分隔,设备身份标识类型固定值为0● 密码签名类型:长度1字节,当前支持2种类型:

– “0”代表HMACSHA256不校验时间戳。

– “1”代表HMACSHA256校验时间戳。

● 时间戳:为设备连接平台时的UTC时间,格式为YYYYMMDDHH,如UTC 时间2018/7/24 17:56:20 则应表示为2018072417。

例:5f052ac562369102d42b0fb6_0_0_2019122614

Username

必选 String(256)

设备ID。

Password

必选 String(256)

Password的值为使用“HMACSHA256”算法以时间戳为秘钥,对secret进行加密后的值。

secret为注册设备时平台返回的secret。当设备认证类型使用秘钥认证接入(SECRET)可填写该字段,证书认证接入(CERTIFICATES)不需填写该字段。

设备通过MQTT协议的connect消息进行鉴权,对于构造clientId的各个部分信息都必须包括进去,平台收到connect消息时,会判断设备的鉴权类型和密码摘要算法。

● 当采用“HMACSHA256”校验时间戳方式时,会先校验消息时间戳与平台时间是否一致,再判断密码是否正确。

● 当采用“HMACSHA256”不校验时间戳方式时,鉴权消息也必须带时间戳,但不检验时间是否准确,仅判断密码是否正确。

connect消息鉴权失败时,平台会返回错误,并自动断开MQTT链路。

2.2 设备请求引导消息

接口功能

设备向发放服务请求对应设备发放平台的引导信息。

Topic

Topic $oc/devices/{device_id}/sys/bootstrap/up

02 快速入门02 快速入门 2 接口说明

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 4

Page 8: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

消息发送方 设备

消息接收方 设备发放平台

示例

设备向发放服务发送的payload为空。

2.3 设备接收引导信息

接口功能

设备接收发放服务下发的引导信息。

Topic

Topic $oc/devices/{device_id}/sys/bootstrap/down

消息发送方 设备发放平台

消息接收方 设备

参数说明

参数 必选/可选 类型 描述

address 必选 String 对应设备发放平台的接入地址。

示例设备先订阅Topic后才能收到命令推送,设备接收到的payload: { "address": "10.0.0.1:8883"}

02 快速入门02 快速入门 2 接口说明

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 5

Page 9: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

3 MQTT 秘钥接入示例

3.1 终端节点说明

区域名称 区域 终端节点(Endpoint) 端口 协议

华北-北京四

cn-north-4

iot-bs.cn-north-4.myhuaweicloud.com

8883 MQTTS

3.2 添加策略

添加静态策略,根据关键字发放到指定的IOT HUB。

3.3 注册设备

选择密钥模式注册MQTT设备。

02 快速入门02 快速入门 3 MQTT 秘钥接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 6

Page 10: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

3.4 引导设备

MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息,本文主要介绍 MQTT.fx 如何与华为设备发放交互。本文以 MQTT.fx 1.7.0 for Windows版本为例。其中设备发放服务MQTT的南向接入地址为:iot-bs.cn-north-4.myhuaweicloud.com。

步骤1 打开 MQTT.fx 下载页面,找到适合的版本下载并安装 MQTT.fx 客户端。

步骤2 打开 MQTT.fx 客户端程序,单击【设置】。

步骤3 填写 Connection Profile 相关信息和 General 信息。其中General 信息可以用工具默认的。

02 快速入门02 快速入门 3 MQTT 秘钥接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 7

Page 11: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

步骤4 填写 User Credentials 信息。

说明

其中Username 和Password 参数参考MQTT CONNECT连接鉴权参数说明。

步骤5 选择开启 SSL/TLS,勾选 CA Certificates file,配置相关证书内容。

02 快速入门02 快速入门 3 MQTT 秘钥接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 8

Page 12: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

步骤6 完成以上步骤设置后,单击【Apply】和【OK】进行保存,并在配置文件框中选择刚才创建的文件名,单击【Connect】,当右上角圆形图标为绿色时,说明已连接设备发放服务成功,可进行发布和订阅操作。

步骤7 点击【Subscribe】进行订阅,按照设备接收引导信息topic填写对应的topic,并进行订阅。订阅成功如下所示:

步骤8 点击【Publish】进行消息推送,按照设备请求引导信息topic填写对应的topic,并进行消息请求。

02 快速入门02 快速入门 3 MQTT 秘钥接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 9

Page 13: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

消息推送成功如下所示,在Subscribe会返回对应设备的设备接入管理服务的地址。

----结束

02 快速入门02 快速入门 3 MQTT 秘钥接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 10

Page 14: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

4 MQTT X509 证书认证接入示例

4.1 终端节点说明

区域名称 区域 终端节点(Endpoint) 端口 协议

华北-北京四

cn-north-4

iot-bs.cn-north-4.myhuaweicloud.com

8883 MQTTS

4.2 上传 CA 证书

4.3 验证 CA 证书

步骤1 为私有秘钥验证证书生成秘钥对。

openssl genrsa -out client.key 2048

步骤2 获取随机验证码。

02 快速入门02 快速入门 4 MQTT X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 11

Page 15: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

步骤3 利用此验证码生成证书请求文件CSR

openssl req -new -key client.key -out client.csr

说明

CSR文件的Comman Name为此验证码

步骤4 使用由CA私有密钥前面的CSR创建私有的验证证书

openssl x509 -req -in client.csr -CA server.crt -CAkey server.key -CAcreateserial -out client.crt -days 500 -sha256

步骤5 上传验证证书进行验证

----结束

4.4 添加策略

添加证书策略,发放CA证书到指定的IOT HUB,并且由此CA签发的设备证书都会发放到指定的IOT HUB。

4.5 注册设备

选择X509证书接入的方式注册MQTT设备。

02 快速入门02 快速入门 4 MQTT X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 12

Page 16: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

选择X509认证模式,选择对应的CA证书,填写设备证书的hash和设备标识,注册x509认证设备。

4.6 引导设备

MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息,本文主要介绍 MQTT.fx 如何与华为设备发放交互。本文以 MQTT.fx 1.7.0 for Windows版本为例。其中设备发放服务MQTT的南向接入地址为:iot-bs.cn-north-4.myhuaweicloud.com。

步骤1 打开 MQTT.fx 下载页面,找到适合的版本下载并安装 MQTT.fx 客户端。

步骤2 打开 MQTT.fx 客户端程序,单击【设置】。

步骤3 填写 Connection Profile 相关信息和 General 信息。其中General 信息可以用工具默认的。

02 快速入门02 快速入门 4 MQTT X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 13

Page 17: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

步骤4 填写 User Credentials 信息。

说明

其中Username 参考MQTT CONNECT连接鉴权参数说明(无需填写Password)。

步骤5 选择开启 SSL/TLS,勾选 CA Certificates file,配置相关证书内容。

02 快速入门02 快速入门 4 MQTT X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 14

Page 18: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

说明

第一项为设备发放对应的CA证书。第二项和第三项分别为设备的设备证书和私钥。

步骤6 完成以上步骤设置后,单击【Apply】和【OK】进行保存,并在配置文件框中选择刚才创建的文件名,单击【Connect】,当右上角圆形图标为绿色时,说明已连接设备发放服务成功,可进行发布和订阅操作。

步骤7 点击【Subscribe】进行订阅,按照设备接收引导信息topic填写对应的topic,并进行订阅。订阅成功如下所示:

步骤8 点击【Publish】进行消息推送,按照设备请求引导信息topic填写对应的topic,并进行消息请求。

02 快速入门02 快速入门 4 MQTT X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 15

Page 19: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

消息推送成功如下所示,在Subscribe会返回对应设备的设备接入管理服务的地址。

----结束

02 快速入门02 快速入门 4 MQTT X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 16

Page 20: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

5 MQTT 注册组接入示例

5.1 终端节点说明

区域名称 区域 终端节点(Endpoint) 端口 协议

华北-北京四

cn-north-4

iot-bs.cn-north-4.myhuaweicloud.com

8883 MQTTS

5.2 上传 CA 证书

5.3 验证 CA 证书

步骤1 为私有秘钥验证证书生成秘钥对。

openssl genrsa -out client.key 2048

步骤2 获取随机验证码。

02 快速入门02 快速入门 5 MQTT 注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 17

Page 21: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

步骤3 利用此验证码生成证书请求文件CSR

openssl req -new -key client.key -out client.csr

说明

CSR文件的Comman Name为此验证码

步骤4 使用由CA私有密钥前面的CSR创建私有的验证证书

openssl x509 -req -in client.csr -CA server.crt -CAkey server.key -CAcreateserial -out client.crt -days 500 -sha256

步骤5 上传验证证书进行验证

----结束

5.4 添加自定义策略

5.5 创建注册组

02 快速入门02 快速入门 5 MQTT 注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 18

Page 22: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

5.6 引导设备

MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息,本文主要介绍 MQTT.fx 如何与华为设备发放交互。本文以 MQTT.fx 1.7.0 for Windows版本为例。其中设备发放服务MQTT的南向接入地址为:iot-bs.cn-north-4.myhuaweicloud.com。

步骤1 打开 MQTT.fx 下载页面,找到适合的版本下载并安装 MQTT.fx 客户端。

步骤2 打开 MQTT.fx 客户端程序,单击【设置】。

步骤3 填写 Connection Profile 相关信息和 General 信息。其中General 信息可以用工具默认的。

02 快速入门02 快速入门 5 MQTT 注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 19

Page 23: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

步骤4 填写 User Credentials 信息。

说明

其中Username 参考MQTT CONNECT连接鉴权参数说明(无需填写Password)。

步骤5 选择开启 SSL/TLS,勾选 CA Certificates file,配置相关证书内容。

02 快速入门02 快速入门 5 MQTT 注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 20

Page 24: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

说明

第一项为设备发放对应的CA证书。第二项和第三项分别为设备的设备证书和私钥。

步骤6 完成以上步骤设置后,单击【Apply】和【OK】进行保存,并在配置文件框中选择刚才创建的文件名,单击【Connect】,当右上角圆形图标为绿色时,说明已连接设备发放服务成功,可进行发布和订阅操作。

步骤7 点击【Subscribe】进行订阅,按照设备接收引导信息topic填写对应的topic,并进行订阅。订阅成功如下所示:

步骤8 点击【Publish】进行消息推送,按照设备请求引导信息topic填写对应的topic,并进行消息请求。

02 快速入门02 快速入门 5 MQTT 注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 21

Page 25: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

消息推送成功如下所示,在Subscribe会返回对应设备的设备管理服务的地址。

----结束

02 快速入门02 快速入门 5 MQTT 注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 22

Page 26: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

6 MQTT 华为云 X509 证书认证接入示例

6.1 终端节点说明

区域名称 区域 终端节点(Endpoint) 端口 协议

华北-北京四

cn-north-4

iot-bs.cn-north-4.myhuaweicloud.com

8883 MQTTS

6.2 在云证书管理服务创建根 CA 证书

根据云证书管理服务的指导,创建CA证书

02 快速入门02 快速入门 6 MQTT 华为云 X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 23

Page 27: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

6.3 添加策略

采用华为云证书认证的设备,三种策略都支持引导,以”证书策略“为例,在”设备发放“创建对应”华为云证书“的证书策略。

6.4 注册设备

使用华为云证书接入的方式注册MQTT设备。

选择华为云证书认证模式,选择对应的CA证书,填写设备证书名称,注册x509认证设备。

02 快速入门02 快速入门 6 MQTT 华为云 X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 24

Page 28: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

6.5 下载设备证书

设备注册成功后,点击设备进入设备详情页面,点击”下载“按钮下载设备证书,并烧录到设备。

6.6 引导设备

MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息,本文主要介绍 MQTT.fx 如何与华为设备发放交互。本文以 MQTT.fx 1.7.0 for Windows版本为例。其中设备发放服务MQTT的南向接入地址为:iot-bs.cn-north-4.myhuaweicloud.com。

步骤1 打开 MQTT.fx 下载页面,找到适合的版本下载并安装 MQTT.fx 客户端。

步骤2 打开 MQTT.fx 客户端程序,单击【设置】。

步骤3 填写 Connection Profile 相关信息和 General 信息。其中General 信息可以用工具默认的。

02 快速入门02 快速入门 6 MQTT 华为云 X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 25

Page 29: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

步骤4 填写 User Credentials 信息。

说明

其中Username 参考MQTT CONNECT连接鉴权参数说明(无需填写Password)。

步骤5 选择开启 SSL/TLS,勾选 CA Certificates file,配置相关证书内容。

02 快速入门02 快速入门 6 MQTT 华为云 X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 26

Page 30: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

说明

第一项为设备发放对应的CA证书。第二项和第三项分别为设备的设备证书和私钥。

步骤6 完成以上步骤设置后,单击【Apply】和【OK】进行保存,并在配置文件框中选择刚才创建的文件名,单击【Connect】,当右上角圆形图标为绿色时,说明已连接设备发放服务成功,可进行发布和订阅操作。

步骤7 点击【Subscribe】进行订阅,按照设备接收引导信息topic填写对应的topic,并进行订阅。订阅成功如下所示:

步骤8 点击【Publish】进行消息推送,按照设备请求引导信息topic填写对应的topic,并进行消息请求。

02 快速入门02 快速入门 6 MQTT 华为云 X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 27

Page 31: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

消息推送成功如下所示,在Subscribe会返回对应设备的设备接入管理服务的地址。

----结束

02 快速入门02 快速入门 6 MQTT 华为云 X509 证书认证接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 28

Page 32: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

7 MQTT 华为云证书注册组接入示例

7.1 终端节点说明

区域名称 区域 终端节点(Endpoint) 端口 协议

华北-北京四

cn-north-4

iot-bs.cn-north-4.myhuaweicloud.com

8883 MQTTS

7.2 在云证书管理服务创建根 CA 证书

根据云证书管理服务的指导,创建CA证书

02 快速入门02 快速入门 7 MQTT 华为云证书注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 29

Page 33: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

7.3 添加自定义策略

7.4 创建注册组

7.5 创建设备证书

7.6 下载设备证书

设备证书创建成功后,点击”下载“设备证书和私钥,并烧录到设备。

02 快速入门02 快速入门 7 MQTT 华为云证书注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 30

Page 34: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

7.7 引导设备

MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息,本文主要介绍 MQTT.fx 如何与华为设备发放交互。本文以 MQTT.fx 1.7.0 for Windows版本为例。其中设备发放服务MQTT的南向接入地址为:iot-bs.cn-north-4.myhuaweicloud.com。

步骤1 打开 MQTT.fx 下载页面,找到适合的版本下载并安装 MQTT.fx 客户端。

步骤2 打开 MQTT.fx 客户端程序,单击【设置】。

步骤3 填写 Connection Profile 相关信息和 General 信息。其中General 信息可以用工具默认的。

步骤4 填写 User Credentials 信息。

02 快速入门02 快速入门 7 MQTT 华为云证书注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 31

Page 35: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

说明

其中Username 参考MQTT CONNECT连接鉴权参数说明(无需填写Password)。

步骤5 选择开启 SSL/TLS,勾选 CA Certificates file,配置相关证书内容。

说明

第一项为设备发放对应的CA证书。第二项和第三项分别为设备的设备证书和私钥。

步骤6 完成以上步骤设置后,单击【Apply】和【OK】进行保存,并在配置文件框中选择刚才创建的文件名,单击【Connect】,当右上角圆形图标为绿色时,说明已连接设备发放服务成功,可进行发布和订阅操作。

02 快速入门02 快速入门 7 MQTT 华为云证书注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 32

Page 36: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

步骤7 点击【Subscribe】进行订阅,按照设备接收引导信息topic填写对应的topic,并进行订阅。订阅成功如下所示:

步骤8 点击【Publish】进行消息推送,按照设备请求引导信息topic填写对应的topic,并进行消息请求。

消息推送成功如下所示,在Subscribe会返回对应设备的设备接入管理服务的地址。

02 快速入门02 快速入门 7 MQTT 华为云证书注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 33

Page 37: 02 快速入门 - Huawei · 步骤3 利用此验证码生成证书请求文件CSR openssl req -new -key client.key -out client.csr 说明 CSR文件的Comman Name为此验证码 步骤4

----结束

02 快速入门02 快速入门 7 MQTT 华为云证书注册组接入示例

文档版本 01 (2020-01-13) 版权所有 © 华为技术有限公司 34