检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MQTT场景--使用华为SDK接入设备发放示例 MQTT 密钥设备使用静态策略发放 MQTT 注册组静态策略发放示例
无特别说明,物联网平台均使用sha1算法计算、存储和校验证书指纹,校验过程不区分大小写。 获取证书指纹 使用Windows自带的工具 使用Windows自带的工具打开证书,单击详细信息,在显示的字段中选择指纹,即可获取该证书指纹。 使用openssl工具 # 使用sha1算法 openssl
设备唯一物理标识,如IMEI、MAC地址等,用于设备在接入物联网平台时携带该标识信息完成接入鉴权。 设备名称 设备发放时,设备名称将作为主要的筛选条件之一,建议按照统一的规则规划不同地区的设备名称。 例如:北京地区设备,设备名称都携带Beijing;香港地区设备,设备名称都携带Hongkong。 设备ID 设备
常见问题1:设备发放流程中使用到的证书都有哪些,它们有何区别? 设备发放提供证书认证方式,证书认证为双向认证过程,涉及到设备发放(平台)和设备两端,过程如下图所示。 双向证书认证过程使用到了如下几类证书: 表1 证书 说明 证书及其私钥持有者 签发者 服务端证书 步骤2中,设备发放设备侧将该证书返回设备。
上传的CA证书初始状态为“未验证”,需要完成“验证CA证书”过程,方可正常使用该CA证书。 表3 证书状态表 CA证书状态 说明 已验证 可正常使用。 未验证 不可正常使用,待验证通过后,方可正常使用。 已过期 CA证书已过期,需更新,但不影响平台使用该CA证书验证对应的设备证书。 即将过期 CA证书30天内即将过期,需及时更新。
设备指纹时将之重置为指定值;不携带时将之置空,后续设备第一次接入时,该设备指纹的值将设置为第一次接入时的证书指纹。 URI POST /v5/iotps/{project_id}/devices/{device_id}/reset-fingerprint 表1 路径参数 参数 是否必选
若设备已发放成功,此接口将级联删除设备接入实例中的该设备。 URI DELETE /v5/iotps/{project_id}/devices/{device_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1
若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。 缺省值:0 表8 ProvisionInfoBaseResp 参数 参数类型 描述 access_point AccessPointResp object 发放区域。 app_info
授权租户的账户ID access_point_id 是 String 接入点id。 最小长度:1 最大长度:256 product_id 否 String 产品ID,用于唯一标识一个产品,在物联网平台的SP Portal上导入产品模型后由平台分配获得。使用自定义策略场景需要填该字段,非自定义策略不用填该字段
若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。若设置为“0”,则表示设备验证码不会失效(建议填写为“0”)。 缺省值:0 表5 ProvisionInfoBaseResp 参数 参数类型 描述 access_point AccessPointResp object 发放区域。 app_info
设备ID,用于唯一标识一个设备。如果携带该参数,平台将设备ID设置为该参数值;如果不携带该参数,设备ID由物联网平台分配获得,生成规则为"product_id" + "_" + "node_id"拼接而成。 node_id 是 String 设备标识码,通常使用IMEI、MAC地址或Serial No
reset_device_secret 否 ResetDeviceSecret object 表4 ResetDeviceSecret 参数 是否必选 参数类型 描述 secret 是 String 设备秘钥,设置该字段时平台将设备秘钥重置为指定值,若不设置则由平台自动生成。 最小长度:8 最大长度:32
表1 设备发放操作步骤列表 使用阶段 步骤 设备开发 1. 开通设备接入服务,参考开发指南,完成设备开发。 LiteOS设备(LwM2M),设备需要具有设备发放功能。 原生MQTT协议设备,需要完成设备引导接口开发,使设备具有设备发放功能。 注:若设备需要使用物联网卡,可在全球SIM联接服务购买物联网卡和套餐。
509是一种用于通信实体鉴别的数字证书,物联网平台支持设备使用自己的X.509证书进行认证鉴权。使用X.509认证技术时,设备无法被仿冒,避免了密钥被泄露的风险。 设备CA证书管理 本章节介绍设备CA证书的制作,以及如何在物联网平台上传、验证和管理设备CA证书。 图1 设备CA证书制作
签发设备证书 已上传并验证CA证书后,就可以使用此CA证书签发设备证书供设备使用。 操作步骤 使用OpenSSL工具为设备证书生成密钥对,即”设备证书(客户端证书)私钥”。 openssl genrsa -out deviceCert.key 2048 使用密钥对生成证书签名请求文件: openssl
策略 策略用于控制设备按照指定策略或规则发放至不同的物联网平台。当前支持自定义策略、证书策略、静态策略。 自定义策略 证书策略 静态策略
AccessPointPara accessPointPara = determineAccessPoint(para); // 发放设备 result = provisionDevice(para, accessPointPara);
[]: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / openssl req -new -key rootCA.key -out
509是一种用于通信实体鉴别的数字证书,物联网平台支持设备使用自己的X.509证书进行认证鉴权。使用X.509认证技术时,设备无法被仿冒,避免了密钥被泄露的风险。 使用X.509证书认证的完整操作流程为: 1. 在平台上传设备CA证书并完成验证(或使用华为云证书服务的私有CA); 2. 创建设备或注册组时,认证方式选择X
functions) 缺省值:functions certificate_id 否 String 证书id。使用第三方上传CA,证书ID为设备发放服务生成的证书id,使用云证书CA,证书ID为云证书服务生成的证书ID。 最小长度:0 最大长度:256 func_urn 否 String