更新时间:2024-10-23 GMT+08:00
分享

证书管理

本文以Windows环境为例,介绍通过Openssl工具制作CA证书,验证证书和设备的方法。以及更新与删除CA证书的操作。

以下“生成密钥对(rootCA.key)”和“生成CA证书(rootCA.crt)”为操作过程中需要使用到的两个文件。

制作CA证书

  1. 在浏览器中访问这里,下载并进行安装OpenSSL工具,安装完成后配置环境变量。
  2. 在 D:\certificates 文件夹下,以管理员身份运行cmd命令行窗口。
  3. 生成密钥对(rootCA.key):

    生成“密钥对”时输入的密码在生成“证书签名请求文件”、“CA证书”,“验证证书”以及“设备证书”时需要用到,请妥善保存。

    openssl genrsa -des3 -out rootCA.key 2048

  4. 使用密钥对生成证书签名请求文件:

    生成证书签名请求文件时,要求填写证书唯一标识名称(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

  5. 生成CA证书(rootCA.crt):

    openssl x509 -req -days 50000 -in rootCA.csr -signkey rootCA.key -out rootCA.crt

    “-days”后的参数值指定了该证书的有效天数,此处示例为50000天,您可根据实际业务场景和需要进行调整。

上传CA证书

  1. 登录设备发放控制台
  2. 在设备发放控制台,左侧导航窗格中,选择“证书”,单击左上方的“上传CA证书”。

    图1 上传CA证书

  3. 在“上传CA证书”页面,填写“证书名称”,单击“添加文件”,上传此前“制作CA证书”步骤中生成的“CA证书(rootCA.crt文件)”,单击“确定”。

    图2 上传CA证书详情页

上传的CA证书初始状态为“未验证”,需要完成“验证CA证书”过程,方可正常使用该CA证书。

验证CA证书

  1. 登录设备发放控制台
  2. 在设备发放控制台,左侧导航窗格中,选择“证书”,单击“证书列表”条目的操作栏中的“验证证书”。

    图3 上传CA证书完成页

  3. 在上传验证证书页面,单击“生成验证码”,单击“复制图标”复制此CA证书的随机验证码。

    图4 复制验证码

    CA证书验证码有效期为一天,请及时使用验证码生成验证证书并完成验证。

    验证码的生成为替换机制,即对于一个CA证书,即使此前的验证码未过期,也将被新生成的验证码替换。

  4. 使用OpenSSL工具为验证证书生成密钥对。

    openssl genrsa -out verificationCert.key 2048

  5. 利用此验证码生成证书签名请求文件CSR。

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

    CSR文件的Common Name (e.g. server FQDN or YOUR name) 需要填写此验证码。

  6. 使用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. 上传验证证书进行验证。

    图5 上传验证证书

签发设备证书

  1. 使用OpenSSL工具为设备证书生成密钥对,即”设备证书(客户端证书)私钥”。

    openssl genrsa -out deviceCert.key 2048

  2. 使用密钥对生成证书签名请求文件:

    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 []:

    可选公司名称,如您不设置,可以直接回车

    /

  3. 使用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证书

  1. 登录设备发放控制台
  2. 在设备发放控制台,左侧导航窗格中,选择“证书”,单击“证书列表”条目的操作栏中的“更新”。

    图6 更新CA证书

    更新CA证书前,要求该证书未被设备、策略、注册组关联。

    更新CA证书后,该证书状态将变为未验证,请重新完成验证CA证书过程。

删除CA证书

  1. 登录设备发放控制台
  2. 在设备发放控制台,左侧导航窗格中,选择“证书”,单击“证书列表”条目的操作栏中的“删除”。

    图7 删除CA证书

    关联了至少一个设备、策略或注册组的CA证书,不允许删除。

    请谨慎操作,删除后的CA证书的所有数据将被删除且不可恢复。

相关文档