文档首页/ 设备接入 IoTDA/ 用户指南/ 设备管理/ 注册设备/ 注册X.509证书认证的设备
更新时间:2024-08-21 GMT+08:00
分享

注册X.509证书认证的设备

X.509是一种用于通信实体鉴别的数字证书,物联网平台支持设备使用自己的X.509证书进行认证鉴权。使用X.509认证技术时,设备无法被仿冒,避免了密钥被泄露的风险。

注册X.509证书认证的设备前,您需要先在物联网平台上传设备的CA证书,然后在注册设备时将设备证书同设备进行绑定。本文介绍如何在物联网平台上传设备CA证书,以及注册X.509证书认证的设备。

限制说明

  • 当前只有通过MQTT接入的设备支持使用X.509证书进行设备身份认证。
  • 每个用户最多上传100个设备CA证书。

上传设备CA证书

  1. 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
  2. 在左侧导航栏选择设备 > 设备证书,进入“设备CA证书”页签,单击“上传证书”
  3. 在弹出的对话框中,单击“添加文件”,然后单击“确定”。

    图1 设备CA证书-上传证书

    设备CA证书由设备厂商提供,调测时可自行制作调测证书,商用时建议更换为商用证书,否则会带来安全风险。如果已购买CA证书(pem、jks等),可直接上传到平台。

制作设备CA调测证书

本文以Windows环境为例,介绍通过Openssl工具制作调测证书的方法,生成的证书为PEM编码格式的证书。

  1. 在浏览器中访问这里,下载并进行安装OpenSSL工具。
  2. 以管理员身份运行cmd命令行窗口。
  3. 执行cd c:\openssl\bin(请替换为openssl实际安装路径),进入openssl命令视图。
  4. 执行以下命令生成生成密钥对。
    openssl genrsa -out rootCA.key 2048
  5. 执行以下命令,使用密钥对中的私有密钥生成 CA 证书。
    openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.pem

    系统提示您输入如下信息,所有参数可以自定义。

    • Country Name (2 letter code) [AU]:国家,如CN。

    • State or Province Name (full name) []: 省份,如GD。

    • Locality Name (for example, city) []:城市,如SZ。

    • Organization Name (for example, company) []:组织,如Huawei。

    • Organizational Unit Name (for example, section) []:组织单位,如IoT。

    • Common Name (e.g. server FQDN or YOUR name) []: 名称,如zhangsan。

    • Email Address []:邮箱地址,如1234567@163.com。

    在openssl安装目录的bin文件夹下,获取生成的CA证书(rootCA.pem)。

上传验证证书

如果上传的是调测证书,上传后证书状态显示为“未验证”,您需要上传验证证书,来证明您拥有该CA证书。

图2 设备CA证书-未验证证书

验证证书是由设备CA证书对应的私钥创建的,请参考如下操作制作验证证书。

  1. 执行如下命令为私有密钥验证证书生成密钥对。

    openssl genrsa -out verificationCert.key 2048

  2. 执行如下命令为私有密钥验证证书创建CSR(Certificate Signing Request)。

    openssl req -new -key verificationCert.key -out verificationCert.csr

    系统提示您输入如下信息,Common Name填写为验证证书的验证码,其他参数自定义。

    • Country Name (2 letter code) [AU]:国家,如CN。

    • State or Province Name (full name) []: 省份,如GD。

    • Locality Name (for example, city) []:城市,如SZ。

    • Organization Name (for example, company) []:组织,如Huawei。

    • Organizational Unit Name (for example, section) []:组织单位,如IoT。

    • Common Name (e.g. server FQDN or YOUR name) []:验证证书的验证码,请参考步骤5获取 。

    • Email Address []:邮箱地址,如1234567@163.com。

    • Password[]:密码,如1234321。
    • Optional Company Name[]:公司名称,如Huawei。

  3. 执行以下命令使用CSR创建私有密钥验证证书。

    openssl x509 -req -in verificationCert.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out verificationCert.pem -days 500 -sha256

    在openssl安装目录的bin文件夹下,获取生成的验证证书(verificationCert.pem)。

  4. 选择对应证书,单击然后单击“上传验证证书”

    图3 设备CA证书-验证证书

  5. 在弹出的对话框中,单击“添加文件”,然后单击“确定”。

    图4 设备CA证书-上传验证证书

    上传验证证书后,证书状态变为“已验证”,表明您拥有该CA证书。

预置X.509证书

在注册X.509设备之前,您需要在设备侧预置CA机构签发的X.509证书。

X.509证书由CA机构签发,若没有CA机构签发的商用证书,您可以自己制作X.509调测证书。如果已购买相关证书,或者权威机构签发的证书(pem、jks等),可直接上传到平台。

制作X.509调测证书

  1. 以管理员身份运行cmd命令行窗口,执行cd c:\openssl\bin(请替换为openssl实际安装路径),进入openssl命令视图。
  2. 执行如下命令生成密钥对。
    openssl genrsa -out deviceCert.key 2048
  3. 执行如下命令为设备证书创建CSR(Certificate Signing Request)。
    openssl req -new -key deviceCert.key -out deviceCert.csr

    系统提示您输入如下信息,所有参数可以自定义。

    • Country Name (2 letter code) [AU]:国家,如CN。

    • State or Province Name (full name) []: 省份,如GD。

    • Locality Name (for example, city) []:城市,如SZ。

    • Organization Name (for example, company) []:组织,如Huawei。

    • Organizational Unit Name (for example, section) []:组织单位,如IoT。

    • Common Name (e.g. server FQDN or YOUR name) []: 名称,如zhangsan。

    • Email Address []:邮箱地址,如1234567@163.com。

    • Password[]:密码,如1234321。
    • Optional Company Name[]:公司名称,如Huawei。
  4. 执行以下命令使用CSR创建设备证书。
    openssl x509 -req -in deviceCert.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out deviceCert.pem -days 500 -sha256

    在openssl安装目录的bin文件夹下,获取生成的设备证书(deviceCert.pem)。

注册X.509证书认证的设备

  1. 访问设备接入服务,单击“管理控制台”进入设备接入控制台。选择您的实例,单击实例卡片进入。
  2. 在左侧导航栏选择 设备 > 所有设备,单击“注册设备”,按照如下表格填写参数后,单击“确定”

    图5 设备-注册X.509设备
    表1 注册X.509设备

    参数名称

    说明

    所属资源空间

    选择设备所属的资源空间。

    所属产品

    选择设备所属的产品。

    只有在这里创建了产品,此处才可以选择具体的产品。如没有,请先创建产品。

    设备标识码

    即node_id,填写为设备的IMEI、MAC地址或Serial No;若没有真实设备,填写自定义字符串,由英文字母、数字、连接号-和下划线_组成。

    设备ID

    设备ID,用于唯一标识一个设备。如果携带该参数,平台将设备ID设置为该参数值;如果不携带该参数,设备ID由物联网平台分配获得,生成规则为product_id + _ + node_id拼接而成。

    设备名称

    即device_name,可自定义。

    设备描述

    设备的描述信息,可自定义。

    设备认证类型

    X.509证书:设备使用X.509证书验证身份。

    指纹

    “设备认证类型”选择“X.509证书”时填写,导入设备侧预置的设备证书对应的指纹,在OpenSSL执行openssl x509 -fingerprint -sha256 -in deviceCert.pem命令可查询。注:填写时需要删除冒号

相关文档