设备接入 IoTDA设备接入 IoTDA

更新时间:2021/08/17 GMT+08:00
分享

MQTT 注册组静态策略发放示例

制作CA证书

本文以Windows环境为例,介绍通过Openssl工具制作CA证书和验证证书的方法。

以下“生成密钥对(server.key)”和“生成CA证书(server.crt)”为操作过程中需要使用到的两个文件。

  1. 在浏览器中访问这里,下载并进行安装OpenSSL工具,安装完成后配置环境变量。
  2. 在 D:\certificates 文件夹下,以管理员身份运行cmd命令行窗口。
  3. 生成密钥对(server.key):

    生成“密钥对”时输入的密码在生成“证书请求文件”、“CA证书”以及“验证证书”时需要用到,请妥善保存。

    openssl genrsa -des3 -out server.key 2048

  4. 使用密钥对生成证书请求文件:

    生成证书请求文件时会要求填入以下信息:

    Country Name (2 letter code) []:输入国家代码,如: CN

    State or Province Name (full name) []:输入省份,如:GuangDong

    Locality Name (eg, city) []:输入城市,如:ShenZhen

    Organization Name (eg, company) []:输入组织机构(或公司名)

    Organizational Unit Name (eg, section) []:输入机构部门

    Common Name (eg, fully qualified host name) []: 输入域名

    Email Address []:输入邮箱地址

    Please enter the following 'extra' attributes

    to be sent with your certificate request

    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. 获取终端节点。

    区域名称

    区域

    终端节点(Endpoint)

    端口

    协议

    华北-北京四

    cn-north-4

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

    8883

    MQTTS

  2. 登录设备发放控制台,进入“证书”界面,单击右上角“上传CA证书”,填写“证书名称”并上传上述“制作CA证书”步骤后生成的“CA证书(server.crt文件)”,单击“确定”。

  3. 验证2中上传的CA证书。

    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

      生成验证证书用到的“server.crt”和“server.key”这两个文件,为“制作CA证书”中所生成的两个文件。

    5. 上传验证证书进行验证。

  4. 添加静态策略。

    “关键字”为注册组名称中的关键字。设备发放时,注册组下的设备的设备名称为“注册组名称+设备ID”,如果包含设置的关键字,则可按该实例进行发放。

  5. 创建注册组(如果需要下发初始化配置,那么对应在初始设备配置选项中填写对应的JSON字符串,设备发放不理解该字段,只是透传该JSON字符串,由设备理解解析。如果不需要下发改字段则不填)。

  6. 引导设备。

    MQTT.fx 是目前主流的 MQTT 桌面客户端,它支持 Windows, Mac, Linux,可以快速验证是否可以与设备发放服务进行连接并发布或订阅消息。

    本文主要介绍 MQTT.fx 如何与华为设备发放交互,其中设备发放服务MQTT的南向接入地址请参考步骤1 获取终端节点

    1. 打开 MQTT.fx 下载页面,下载并安装 MQTT.fx 客户端(以 MQTT.fx 1.7.0 for Windows版本为例)。
    2. 打开 MQTT.fx 客户端程序,单击“设置”。

    3. 填写 Connection Profile 相关信息和 General 信息。其中General 信息可以用工具默认的参数配置。

    4. 填写 User Credentials 信息。

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

    5. 选择开启 SSL/TLS,勾选Self signed certificates,配置相关证书内容。

      • CA File为设备发放对应的CA证书。
      • Client Certificate File为设备的设备证书。
      • Client Key File为设备的私钥。
    6. 完成以上步骤后,单击“Apply”和“OK”保存,并在配置文件框中选择刚才创建的文件名,单击“Connect”,当右上角圆形图标为绿色时,说明连接设备发放服务成功,可进行订阅(Subscribe)和消息推送(Publish)操作。

    7. 按照设备接收引导信息topic填写对应的topic,单击“Subscribe”进行订阅。订阅成功如下所示:

    8. 按照设备请求引导信息topic填写对应的topic,单击“Publish”进行消息推送。

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

分享:

    相关文档

    相关产品