云服务器内容精选

  • 设备免注册接入 下载并修改华为SDK示例代码进行设备引导(这里以java sdk代码为示例)。 使用IDEA/Eclipse打开SDK代码工程,修改iot-device-demo目录下的DEMO示例“BootstrapSelfRegSample”中的参数。 ScopeId从设备发放的注册组页面中获取; deviceId由客户自主规划且未在平台注册(需注意平台要求deviceId全局唯一); 设备证书指定为“控制台开发”中生成的设备证书; bootstrapUri为上述终端节点。 图11 修改demo示例 运行DEMO程序,看到如下日志,代表设备发放成功,并且已经收到设备发放下发的设备接入地址。如果程序运行正常,在对应的设备接入实例可以看到该设备,且该设备已在线。 图12 日志信息 收到设备发放下发的设备接入地址后,需要关闭设备侧的设备发放的连接,用的新的URL地址与设备接入通信,进行相关业务。 图13 关闭连接示例代码 DeviceId即设备ID,用于唯一标识一个设备。设备需使用未注册的DeviceId进行免注册接入,不同设备的DeviceId不同。 在客户实际业务场景中,推荐一个设备使用一个设备证书,不建议多个设备共用一个设备证书。
  • 添加证书策略 添加证书策略,发放CA证书到指定的IoTDA,并且由此CA签发的设备证书都会发放到指定的IoTDA。 图8 添加证书策略 进入“策略”界面,单击展开“证书策略”,单击“添加实例”。 图9 添加证书策略详情 按照下方参数说明填写关键参数信息后,单击“确定”。 表4 参数信息 参数名称 说明 示例 证书名称 即所要根据证书属性将设备发放到指定的目标区域,选择对应的证书。 将需要通过证书“certificates”发放的设备发放至华北-北京四的 物联网平台 。 需通过证书“certificates”发放的设备:WaterMeter-Beijing0001、WaterMeter-Beijing0002 证书名称:certificates 发放区域:华北-北京四 发放应用:beijing-app1 发放区域 发放到指定区域后,设备将接入对应区域的 设备接入服务 。 所选区域未开通设备接入服务时,如果确定添加实例,系统将自动为您开通设备接入服务。不同区域设备接入服务价格不同,收费详情请参考价格说明。 发放应用 选择对应设备接入服务区域已创建的应用。在物联网平台中,设备由应用统一管理。 如果对应设备接入服务区域未创建应用,需要前往对应服务创建应用。
  • 验证CA证书 对于已上传的CA证书,平台要求用户完成“验证CA证书”过程,以验证用户具备该CA证书的签发能力。 操作步骤 登录设备发放控制台。 在设备发放控制台,左侧导航窗格中,选择“证书”,单击“证书列表”条目的操作栏中的“验证证书”。 图5 上传CA证书完成页 在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。 图6 复制验证码 CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。 验证码的生成为替换机制,即对于一个CA证书,即使此前的验证码未过期,也将被新生成的验证码替换。 使用OpenSSL工具为验证证书生成密钥对。 openssl genrsa -out verificationCert.key 2048 利用此验证码生成证书签名请求文件 CS R。 openssl req -new -key verificationCert.key -out verificationCert.csr CSR文件的Common Name (e.g. server FQDN or YOUR name) 需要填写此验证码。 使用CA证书、CA证书私钥和上一步骤中生成的CSR文件创建验证证书(verificationCert.crt)。 openssl x509 -req -in verificationCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out verificationCert.crt -days 36500 -sha256 生成验证证书用到的“rootCA.crt”和“rootCA.key”这两个文件,为“制作CA证书”中所生成的两个文件。 “-days”后的参数值指定了该证书的有效天数,此处示例为36500天,您可根据实际业务场景和需要进行调整。 上传验证证书进行验证。 图7 上传验证证书
  • 生成设备证书 使用OpenSSL工具为设备证书生成密钥对(设备私钥): openssl genrsa -out deviceCert.key 2048 使用设备密钥对,生成证书签名请求文件: openssl req -new -key deviceCert.key -out deviceCert.csr 生成证书签名请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表6所示。 表6 参数说明 提示 参数名称 取值样例 Country Name (2 letter code) []: 国家/地区 CN State or Province Name (full name) []: 省/市 GuangDong Locality Name (eg, city) []: 城市 ShenZhen Organization Name (eg, company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd. Organizational Unit Name (eg, section) []: 机构部门 Cloud Dept. Common Name (eg, fully qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / 使用CA证书、CA证书私钥和CSR文件创建设备证书(deviceCert.crt)。 openssl x509 -req -in deviceCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out deviceCert.crt -days 36500 -sha256 生成设备证书用到的“rootCA.crt”和“rootCA.key”这两个文件,为“制作CA证书”中所生成的两个文件,且需要完成“上传并验证CA证书”。 “-days”后的参数值指定了该证书的有效天数,此处示例为36500天,您可根据实际业务场景和需要进行调整。
  • 上传CA证书 具体操作步骤 登录设备发放控制台。 在设备发放控制台,左侧导航窗格中,选择“证书”,单击右上方的“上传CA证书”。 图3 上传CA证书 在“上传CA证书”页面,填写“证书名称”,单击“添加文件”,上传此前“制作CA证书”步骤中生成的“CA证书(rootCA.crt文件)”,单击“确定”。 图4 上传CA证书详情页 上传的CA证书初始状态为“未验证”,需要完成“验证CA证书”过程,方可正常使用该CA证书。 表3 证书状态表 CA证书状态 说明 已验证 可正常使用。 未验证 不可正常使用,待验证通过后,方可正常使用。 已过期 CA证书已过期,需更新,但不影响平台使用该CA证书验证对应的设备证书。 即将过期 CA证书30天内即将过期,需及时更新。
  • 创建注册组 MQTT证书接入的设备,可以在设备发放创建一个注册组,绑定对应的CA证书和自定义策略,可以实现批量设备的自注册,实现设备一键上电即可上云的动作,可在注册组详情中查看该注册组下所有的设备。 进入“设备-注册组”界面,单击右上角“新增注册组”。 图10 新增注册组 按照下方参数说明填写关键参数信息后,完成创建。 表5 参数信息 参数名称 说明 注册组名称 注册组的唯一标识。 选择证书 用于和注册组绑定,同一个证书只能同时绑定一个注册组,不能同时绑定多个注册组。 发放策略 当前只支持“自定义策略”,同时需要选择所要运行的函数。
  • 场景说明 平台基于客户业务安全考虑,只有将设备的基本信息(例如设备ID、鉴权信息)注册到平台后,设备才能使用成功注册后的设备ID和鉴权信息接入物联网平台。当用户注册的设备不断增多时,如何安全且高效地注册设备变得尤为关键。 一种方案是,使用批量注册模板或者循环调用平台应用侧注册设备的API,实现高效地批量注册设备。此方案能够满足客户对批量注册设备的大部分场景需求,但要求客户业务应用侧和客户产线侧相互配合,客户应用侧对设备ID提前进行规划,应用侧完成批量注册后,客户业务产线侧需将应用侧获取到的设备ID逐一烧录到各个设备比较麻烦。 另一种更加高效的方案是,使用设备发放的注册组功能实现设备免注册安全极简地接入物联网平台。 本文基于设备发放注册组功能,使用证书策略,带您快速体验设备免注册安全极简接入物联网平台。 表1 方案对比 设备注册方案 基于单个注册 批量注册 免注册安全极简接入 适用场景 设备数量不多; 对设备身份标识和认证信息可提前规划; 产线侧与应用侧可紧密配合。 设备数量多; 对设备身份标识和认证信息可提前规划。 设备数量较多; 设备能力强; 对设备注册的灵活性要求高。 过程 应用侧通过多次调用单个注册API将设备信息(包括但不限于身份标识和认证信息)逐一注册到平台; 产线侧与应用侧密切配合,将设备身份标识和与之对应的认证信息逐个写入设备。 下载并填写批量注册模板文件,定义设备信息(包括但不限于身份标识和认证信息); 将填写完成的批量注册模板文件上传至平台,完成批量注册过程; 产线侧将设备身份标识和与之对应的认证信息逐个写入设备。 基于设备发放的注册组和发放策略能力; 具体过程在本文后续章节展开。 特点 多次调用API; 整体流程简单。 将单个注册过程模板化。 无需对设备身份标识和认证信息提前规划; 应用侧无需逐一注册设备信息; 降低产线管理和维护成本。
  • 制作CA证书 本文以Windows环境为例,介绍通过Openssl工具制作CA证书和验证证书的方法。 以下“生成密钥对(rootCA.key)”和“生成CA证书(rootCA.crt)”为操作过程中需要使用到的两个文件。 具体步骤: 在浏览器中访问这里,下载并进行安装OpenSSL工具,安装完成后配置环境变量。 在 D:\certificates 文件夹下,以管理员身份运行cmd命令行窗口。 生成密钥对(rootCA.key): 生成“密钥对”时输入的密码在生成“证书签名请求文件”、“CA证书”,“验证证书”以及“设备证书”时需要用到,请妥善保存。 openssl genrsa -des3 -out rootCA.key 2048 使用密钥对生成证书签名请求文件: 生成证书签名请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表2所示。 表2 参数说明 提示 参数名称 取值样例 Country Name (2 letter code) []: 国家/地区 CN State or Province Name (full name) []: 省/市 GuangDong Locality Name (eg, city) []: 城市 ShenZhen Organization Name (eg, company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd. Organizational Unit Name (eg, section) []: 机构部门 Cloud Dept. Common Name (eg, fully qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / openssl req -new -key rootCA.key -out rootCA.csr 生成CA证书(rootCA.crt): openssl x509 -req -days 50000 -in rootCA.csr -signkey rootCA.key -out rootCA.crt “-days”后的参数值指定了该证书的有效天数,此处示例为50000天,您可根据实际业务场景和需要进行调整。
  • 新增注册组 创建注册组。 图2 新增注册组 注册组密钥为长度在”32~128“字节的字节码。在创建密钥注册组时,返回的注册组密钥为“base64编码后的注册组密钥字符串”。 若不指定注册组密钥,则注册组密钥由设备发放服务生成。 若指定注册组密钥,在创建中注册组时需在密钥输入框内填写“指定字节码Base64编码后生成的字符串”。 图3 创建密钥注册组 如果需要下发初始化配置,那么对应在初始设备配置选项中填写对应的JSON字符串,设备发放不理解该字段,只是透传该JSON字符串,由设备理解解析。如果不需要下发该字段则不填 创建完成后会返回注册组密钥,单击复制保存注册组密钥。 图4 创建密钥注册组响应
  • 操作步骤 进入“策略”界面,单击展开“证书策略”,单击“添加实例”。 图1 添加证书策略 按照下方参数说明填写关键参数信息后,单击“确定”。 表1 证书策略参数列表 参数名称 说明 示例 证书名称 即所要根据证书属性将设备发放到指定的目标区域,选择对应的证书。 将需要通过证书“certificates”发放的设备发放至华北-北京四的物联网平台。 需通过证书“certificates”发放的设备:WaterMeter-Beijing0001、WaterMeter-Beijing0002 证书名称:certificates 发放区域:华北-北京四 发放应用:beijing-app1 发放区域 发放到指定区域后,设备将接入对应区域的设备接入服务。 所选区域未开通设备接入服务时,如果确定添加实例,系统将自动为您开通设备接入服务。不同区域设备接入服务价格不同,收费详情请参考价格说明。 发放应用 选择对应设备接入服务区域已创建的应用。在物联网平台中,设备由应用统一管理。 如果对应设备接入服务区域未创建应用,需要前往对应服务创建应用。
  • 概述 证书策略,即通过平台认证设备的设备CA证书匹配的发放策略。每条证书策略实例指:匹配上该策略实例的设备,将会被发放到该策略实例关联的设备接入实例的对应资源空间(即应用)下。 设备匹配证书策略实例的机制为: 设备的发放策略指定为“证书策略”时,其认证方式也必须为X.509证书认证且同时指定了认证设备的设备CA证书,当设备关联的设备CA证书与证书策略实例关联的证书为同一个证书时,即被认为该设备匹配上该条策略实例; 一个设备最多匹配一条证书策略实例;一个CA证书最多被一条证书策略关联。
  • 签发设备证书 使用OpenSSL工具为设备证书生成密钥对,即”设备证书(客户端证书)私钥”。 openssl genrsa -out deviceCert.key 2048 使用密钥对生成证书签名请求文件: openssl req -new -key deviceCert.key -out deviceCert.csr 生成证书签名请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表1所示。 表2 证书签名请求文件参数列表 提示 参数名称 取值样例 Country Name (2 letter code) []: 国家/地区 CN State or Province Name (full name) []: 省/市 GuangDong Locality Name (eg, city) []: 城市 ShenZhen Organization Name (eg, company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd. Organizational Unit Name (eg, section) []: 机构部门 Cloud Dept. Common Name (eg, fully qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / 使用CA证书、CA证书私钥和上一步骤中生成的CSR文件创建设备证书(deviceCert.crt)。 openssl x509 -req -in deviceCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out deviceCert.crt -days 36500 -sha256 生成设备证书用到的“rootCA.crt”和“rootCA.key”这两个文件,为“制作CA证书”中所生成的两个文件,且需要完成”验证CA证书”流程。 “-days”后的参数值指定了该证书的有效天数,此处示例为36500天,您可根据实际业务场景和需要进行调整
  • 验证CA证书 登录设备发放控制台。 在设备发放控制台,左侧导航窗格中,选择“证书”,单击“证书列表”条目的操作栏中的“验证证书”。 图3 上传CA证书完成页 在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。 图4 复制验证码 CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。 验证码的生成为替换机制,即对于一个CA证书,即使此前的验证码未过期,也将被新生成的验证码替换。 使用OpenSSL工具为验证证书生成密钥对。 openssl genrsa -out verificationCert.key 2048 利用此验证码生成证书签名请求文件CSR。 openssl req -new -key verificationCert.key -out verificationCert.csr CSR文件的Common Name (e.g. server FQDN or YOUR name) 需要填写此验证码。 使用CA证书、CA证书私钥和上一步骤中生成的CSR文件创建验证证书(verificationCert.crt)。 openssl x509 -req -in verificationCert.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out verificationCert.crt -days 36500 -sha256 生成验证证书用到的“rootCA.crt”和“rootCA.key”这两个文件,为“制作CA证书”中所生成的两个文件。 “-days”后的参数值指定了该证书的有效天数,此处示例为36500天,您可根据实际业务场景和需要进行调整。 上传验证证书进行验证。 图5 上传验证证书
  • 制作CA证书 在浏览器中访问这里,下载并进行安装OpenSSL工具,安装完成后配置环境变量。 在 D:\certificates 文件夹下,以管理员身份运行cmd命令行窗口。 生成密钥对(rootCA.key): 生成“密钥对”时输入的密码在生成“证书签名请求文件”、“CA证书”,“验证证书”以及“设备证书”时需要用到,请妥善保存。 openssl genrsa -des3 -out rootCA.key 2048 使用密钥对生成证书签名请求文件: 生成证书签名请求文件时,要求填写证书唯一标识名称(Distinguished Name,DN)信息,参数说明如下表1 所示。 表1 证书签名请求文件参数列表 提示 参数名称 取值样例 Country Name (2 letter code) []: 国家/地区 CN State or Province Name (full name) []: 省/市 GuangDong Locality Name (eg, city) []: 城市 ShenZhen Organization Name (eg, company) []: 组织机构(或公司名) Huawei Technologies Co., Ltd. Organizational Unit Name (eg, section) []: 机构部门 Cloud Dept. Common Name (eg, fully qualified host name) []: CA名称(CN) Huawei IoTDP CA Email Address []: 邮箱地址 / A challenge password []: 证书密码,如您不设置密码,可以直接回车 / An optional company name []: 可选公司名称,如您不设置,可以直接回车 / openssl req -new -key rootCA.key -out rootCA.csr 生成CA证书(rootCA.crt): openssl x509 -req -days 50000 -in rootCA.csr -signkey rootCA.key -out rootCA.crt “-days”后的参数值指定了该证书的有效天数,此处示例为50000天,您可根据实际业务场景和需要进行调整。
  • LwM2M设备批量发放操作 本文以注册3个LwM2M设备,发放到中国站“华北-北京四”为例演示如何发放LwM2M设备。 前提条件 已在中国站“华北-北京四”的设备接入服务中创建应用。 获取终端节点。 表4 终端节点列表 区 域名 称 区域 终端节点(Endpoint) 端口 协议 华北-北京四 cn-north-4 iot-bs.cn-north-4.myhuaweicloud.com 5683 LwM2M 华北-北京四 cn-north-4 iot-bs.cn-north-4.myhuaweicloud.com 5684 LwM2M + DTLS 操作步骤 进入“策略”界面,单击展开“静态策略”,单击“添加实例”。 按照下方参数说明填写关键参数信息后,单击“确定”。 表5 实例1-发放到北京 参数名称 说明 关键字 Beijing 优先级别 1级 发放区域 华北-北京四 发放应用 选择在“华北-北京四”的设备接入服务中创建的应用。 进入“设备”界面,单击右上角“批量注册”。 下载模版,按照下方参数说明分别填写三个设备的关键参数信息后,选择模板文件并单击“保存”。 表6 LWM2M设备模板填写说明列表 参数名称 说明 nodeId 若有真实设备,填写为设备的IMEI或MAC地址;若没有真实设备,填写自定义字符串,不同设备的识别码不能重复。 name 分别填写为LwM2M_Beijing001,LwM2M_Beijing002,LwM2M_Beijing003。 productId 填写所要注册的设备所属产品的产品ID。 strategyTypeId 策略类型,填写0(静态策略)。 psk 可填写为12345678。 bootstrapPsk 可填写为87654321。 secure 填写为DTLS。 其他参数 留空。 图3 模板填写样例 在“操作记录”中查看注册结果,注册成功则继续下一步;注册失败则可单击“失败数”所在列的数字查看失败原因,修改模板后重新注册。 设备初次上电,先接入到设备发放平台,随后通过Bootstrap流程引导设备获得目标物联网平台地址,完成设备发放。