检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MQTTS指MQTT+SSL/TLS,在MQTTS中使用SSL/TLS协议进行加密传输。 设备CA证书 由国际知名的证书机构VeriSign、Symantec和GlobalSign等CA(Certification Authority)机构进行签发,用于HTTPS建链时服务端和客户端之间的身份合法性验证。
User Name Password SSL/TLS Enable SSL/TLS 是否使用SSL或TLS加密协议。 是 Protocol 协议版本。 TLSv1.2 CA certificate file CA证书文件 从证书资源页面获取对应区域的CA证书。 参数配置完成后,单击“Co
建议使用更安全的HTTPS方式 cert_id String 参数说明:证书id,请参见加载推送证书第3步获取证书ID cn_name String 参数说明:当sni_enable为true时,此字段需要填写,内容为将要请求的服务端证书的域名,举例:domain:8443;当sni_enbale为false时,此字段默认不填写。
和Password 参数参考MQTT CONNECT连接鉴权参数说明。 选择开启 SSL/TLS,勾选CA certificate file,CA Certificate File指定为物联网平台根证书(请先下载物联网平台的根证书,解压后,选择其中c或java目录下PEM后缀的文件)的本地路径。
填写RocketMQ的连接地址,需填写元数据公网连接地址。IoTDA企业版实例支持同VPC同子网下RocketMq实例私网接入。 SSL 选择是否开启SSL, 开启SSL需要RocketMQ支持SSL。 主题 填写RocketMQ的topic。 账户名 填写在RocketMQ中用户管理添加的用户名。 密码
ConnectUtils类主要提供了SSL加载证书的getMqttsCerificate方法,如果是MQTTS建链方式,需要调用该方法加载证书。 DigiCertGlobalRootCA.bks:设备校验平台身份的证书,用于设备侧接入物联网平台登录鉴权使用,可以在资源获取中下载证书文件。 SSLContext
建议使用更安全的HTTPS方式 cert_id String 参数说明:证书id,请参见加载推送证书第3步获取证书ID cn_name String 参数说明:当sni_enable为true时,此字段需要填写,内容为将要请求的服务端证书的域名,举例:domain:8443;当sni_enbale为false时,此字段默认不填写。
和Password 参数参考MQTT CONNECT连接鉴权参数说明。 选择开启 SSL/TLS,勾选CA certificate file,CA Certificate File指定为物联网平台根证书(请先下载物联网平台的根证书,解压后,选择其中c或java目录下PEM后缀的文件)的本地路径。
IoT_client_config.py:配置客户端信息,如设备id、密钥等; IoT_client.py:提供mqtt协议相关功能,如连接、订阅、发布和响应等; IoT_device/Utils:工具方法,如获取时间戳、密钥加密等; IoT_device/resources:存放证书; DigiCertGlobalRootCA
运行com.iot.mqtt.example.demo.MqttDemo样例代码,根据以下日志信息判断是否订阅成功。该示例忽略服务端证书校验,如需校验服务端证书可参考com.iot.mqtt.example.demo.MqttTlsDemo。 订阅成功。 图1 订阅成功 订阅失败。 用户名或密码错误。
Interrupt) for { <-interrupt break } } 成功示例 接入成功后,客户端打印信息如下: 图1 go mqtt客户端接入成功示例 父主题: 使用MQTT转发
建议使用更安全的HTTPS方式 cert_id 否 String 参数说明:证书id,请参见加载推送证书第3步获取证书ID cn_name 否 String 参数说明:当sni_enable为true时,此字段需要填写,内容为将要请求的服务端证书的域名,举例:domain:8443;当sni_enbale为false时,此字段默认不填写。
在设备发放控制台,左侧导航窗格中,选择“证书”,单击“证书列表”条目的操作栏中的“验证证书”。 图5 上传CA证书完成页 在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。 图6 复制验证码 CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。 验证码的生成为
使用MQTT.fx调测 本文档以MQTT.fx为例,介绍以MQTT原生协议接入物联网平台。MQTT.fx是目前主流的MQTT客户端,可以快速验证是否可以与物联网平台服务交互发布或订阅消息。 前提条件 已注册华为云官方账号。未注册可单击注册页面完成注册。 已完成实名制认证。未完成可
安全模式:支持安全模式密钥模式和X.509证书模式。 设备密钥:选择密钥模式时该参数选填,如果不填系统会返回密钥,或从设备详情获取。 选择证书:选择X.509证书模式时该参数必填,选择当前注册设备所需要的证书。 证书指纹:根据证书生成的唯一识别证书的标识。与“自注册开关”参数选填其一或都填。
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) # 不校验服务端证书 context.verify_mode = ssl.CERT_NONE
如果订阅地址是HTTPS地址,可能是服务端的证书制作有问题或者服务端证书对应的CA证书未上传至物联网平台 订阅地址对应的服务端口未开放。 若订阅地址为域名,并且域名绑定多个IP,可能是DNS解析问题。 解决方法 如果订阅地址是HTTPS地址,商用时,推荐向证书机构申请证书,然后参考设备接入平台上传证书进行证书
} }); 服务端集成华为云SDK 华为云IoTDA提供应用端SDK,开发者只需做少量代码修改就可完成应用端适配,实现应用端的快速迁移。下面以应用端接收设备属性上报和应用端下发命令给设备为例,介绍如何进行应用端适配。 参考AMQP客户端接入说明,Java SDK接入示例进行设备属性上报的适配处理。
src:源码目录 mqtt_c_demo:demo核心源码; util/string_util.c:工具资源文件; conf:证书目录 rootcert.pem:设备校验平台身份的证书,用于设备侧接入物联网平台登录鉴权使用; include: 头文件目录 base目录:存放依赖的paho头文件
自定义模板示例 示例1 证书认证设备,不限制UserName与ClientId参数取值,从设备证书通用名称(Common Name)中取值设备ID。 表1 鉴权参数 参数 说明 Client ID 任意值 User Name 任意值 Password 空值 鉴权模板: { "template_name":