检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
结合函数服务通过自定义策略发放证书认证的设备 场景说明 本文以MQTT.fx的设备模拟器替代真实的设备,结合函数工作流服务(FunctionGraph),带您快速体验结合函数服务使用设备发放服务,通过自定义策略将设备发放到指定的物联网平台(设备接入实例)上。 整体流程 使用证书认证的设备采用自定义策略发放设备操作流程如下图所示。
创建Java函数时,函数入口参数需要提供函数完整的名字空间,参数格式为:包名.类名.函数名。 设备发放在此基础上,要求函数代码满足如下条件: 返回参数:需满足设备发放对返回参数的约束; 函数参数:需满足设备发放对函数参数的约束; 函数接口实现:从函数参数中的备选接入点中选择一个接入点,调用发放设备接口,根据接口响应拼接参数返回。
务的地址。 后续操作 至此,您已完成了设备发放的流程。设备发放已成功将您的设备【接入IoTDA所需的必要信息】预置到了IoTDA实例中。 如您想要体验物联网平台的更多强大功能,您可通过如下步骤完成对IoTDA的后续操作: 取用引导消息中的设备接入地址; 单击Disconnect,断开与设备发放的连接;
持设备使用自己的X.509证书进行认证鉴权。使用X.509认证技术时,设备无法被仿冒,避免了密钥被泄露的风险。 使用X.509证书认证的完整操作流程为: 1. 在平台上传设备CA证书并完成验证(或使用华为云证书服务的私有CA); 2. 创建设备或注册组时,认证方式选择X.509证书认证,并关联已认证的设备CA证书;
CA证书(设备CA证书/客户端CA证书) server.crt - 双向认证,即双向证书认证,与单向认证中不同的是,不仅包含单向认证中的设备对平台的证书验证步骤,还包含了平台对设备的证书验证步骤。
Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 T
证书策略,即通过平台认证设备的设备CA证书匹配的发放策略。每条证书策略实例指:匹配上该策略实例的设备,将会被发放到该策略实例关联的设备接入实例的对应资源空间(即应用)下。 设备匹配证书策略实例的机制为: 设备的发放策略指定为“证书策略”时,其认证方式也必须为X.509证书认证且同
务的地址。 后续操作 至此,您已完成了设备发放的流程。设备发放已成功将您的设备【接入IoTDA所需的必要信息】预置到了IoTDA实例中。 如您想要体验物联网平台的更多强大功能,您可通过如下步骤完成对IoTDA的后续操作: 取用引导消息中的设备接入地址; 单击Disconnect,断开与设备发放的连接;
钥注册组功能。 密钥认证类型的设备组是一个安全性不完备的方案,建议使用证书作为注册组的认证方式。 每个设备的设备代码应该只包含该设备的相应派生设备密钥。 不要在设备代码中包含你的注册组密钥。 泄露的注册组密钥可能会危及所有使用该密钥进行身份验证的设备的安全。 整体流程 添加静态策略
件压缩包。 根据您使用的工具或语言取用压缩包内的证书文件: IoT Device SDK(C/C#)、MQTT.fx工具:使用压缩包中c目录下以pem或crt为后缀的文件; IoT Device SDK(Java):使用压缩包中java目录下以jks为后缀的文件; IoT Device
指设备是否通过安全协议方式接入,默认值为true。 true:通过安全协议方式接入。 false:通过非安全协议方式接入。 缺省值:true timeout 否 Integer 设备验证码的有效时间,单位:秒,默认值:0 若设备在有效时间内未接入物联网平台并激活,则平台会删除该设备的注册信息。
device_cert_validity Integer 生成设备证书的有效期。CA证书选择云证书管理服务的CA证书可填写该字段。 最小值:1 最大值:10 device_cert_id String 设备证书id,设备采用云证书管理服务的CA注册,云证书管理服务生成的设备证书的唯一实例ID secure_access
否 Integer 生成设备证书的有效期。CA证书选择云证书管理服务的CA证书可填写该字段。 最小值:1 最大值:10 device_cert_id 否 String 设备证书id,设备采用云证书管理服务的CA注册,云证书管理服务生成的设备证书的唯一实例ID secure_access
device_cert_validity Integer 生成设备证书的有效期。CA证书选择云证书管理服务的CA证书可填写该字段。 最小值:1 最大值:10 device_cert_id String 设备证书id,设备采用云证书管理服务的CA注册,云证书管理服务生成的设备证书的唯一实例ID secure_access
证书指纹,即证书哈希值,是用于标识较长公共密钥字节的短序列。通过使用哈希算法对证书内容进行计算获取指纹。 证书指纹通常使用sha1或sha256算法计算,算法不同,证书指纹的长度也不同。sha1算法得到40位长度的序列,sha256算法得到64位长度的序列。 无特别说明,物联网平台均使用sh
授权,即授权关系,是两个租户在设备发放中建立的一种租户间单向的资源共享的关系。 通过授权功能,授权租户向被授权租户共享授权租户下的设备接入实例,被授权租户可使用授权租户的设备接入实例作为发放策略的目的接入点,从而实现跨账号发放设备的能力。 创建授权关系 被授权方进入“授权”界面,单击在“被授权列表”下的“发起授权请求”。
静态策略,即设备关键字模糊匹配的发放策略。每条静态策略实例指:匹配上该策略实例的设备,将会被发放到该条策略实例关联的设备接入实例的对应资源空间(即应用)下。 设备匹配静态策略实例的机制为: 设备的发放策略为“静态策略”,设备的关键字来源字符串包含某一静态策略实例的关键字,即被认为该设备匹
运行DEMO程序,看到如下日志,代表设备发放成功,并且已经收到设备发放下发的设备接入地址。如果程序运行正常,在对应的设备接入实例可以看到该设备,且该设备已在线。 图12 日志信息 收到设备发放下发的设备接入地址后,需要关闭设备侧的设备发放的连接,用的新的URL地址与设备接入通信,进行相关业务。 图13 关闭连接示例代码
对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“
上传设备CA证书 功能介绍 应用服务器可调用此接口在物联网平台上传设备的CA证书 URI POST /v5/iotps/{project_id}/certificates 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 最小长度:1