文档首页 > > 用户指南> IoT接入管理> 如何生成证书

如何生成证书

分享
更新时间: 2019/11/28 GMT+08:00

本节介绍使用 IoT接入组件收发消息中需要用到的证书认证方式以及生成相关证书的方法。

证书认证支持服务侧自签名和用户自定义两种方式。

  • 服务侧自签名:IoT服务器自行生成CA证书并签发服务器证书,用户无需上传CA证书和CA证书密钥。只需在“证书管理”页签下载CA证书,并生成客户端证书用于建立IoT连接。
  • 用户自定义:用户需上传自定义的CA证书和该CA签发的服务器证书、服务器密钥证书。然后利用自定义的CA证书(ca.pem)和自定义的CA密钥(rsa_aes_private_ca.key)生成客户端证书(client.pem),客户端密钥证书(client_key.pem),用于建立IoT连接。

    目前只支持pem格式的签名证书。

生成服务侧自签名所需证书

  1. 使用注册帐户登录DIS控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在左侧列表栏中选择接入管理 > IoT接入
  4. 选中已创建的IoT实例,进入该实例的详情页。
  5. 单击“认证管理”,下载CA证书(ca.pem)和CA的密钥(rsa_aes_private_ca.key)。

    CA证书命名规则为:$实例名称-CA.pem;CA密钥命名规则为:$实例名称-CA.key

  6. Linux环境下执行如下命令,利用CA证书签发客户端证书。

    touch /etc/pki/CA/index.txt

    echo 01 > /etc/pki/CA/serial

    openssl rsa -in rsa_aes_private_ca.key -passin pass:changeme -out client-key.pem

    openssl req -new -key client-key.pem -out client-cert.csr -subj "/C=CN/ST=Guangdong/L=Shenzhen/O=HUAWEI/OU=DIS/CN=dis.huawei.com"

    yes yes | openssl ca -days 7300 -in client-cert.csr -out client-cert.pem -cert ca.pem -keyfile client-key.pem

    获取如下证书:

    • client-cert.pem(客户端证书)
    • client-key.pem(客户端密钥证书)

    生成的客户端证书用于客户端与IoT服务建立连接,请参见3中的使用证书认证方式建立连接。

生成用户自定义认证方式所需证书

  1. Linux环境下执行如下命令,生成ca证书(ca.pem)和ca的私钥(rsa_aes_private_ca.key)。

    openssl genrsa -aes256 -passout pass:changeme -out rsa_aes_private_ca.key 2048

    openssl rsa -in rsa_aes_private_ca.key -passin pass:changeme -out ca.key

    openssl req -new -key ca.key -out cacert.csr -subj "/C=CN/ST=Guangdong/L=Shenzhen/O=HUAWEI/OU=DIS/CN=ca.huawei.com"

    openssl x509 -req -days 7300 -sha1 -extensions v3_ca -signkey ca.key -in cacert.csr -out ca.pem

  2. Linux环境下执行如下命令, 利用ca.pem证书和ca的私钥rsa_aes_private_ca.key生成服务端证书(server.pem)、服务端密钥证书(server_key.pem)。

    touch /etc/pki/CA/index.txt

    echo 01 > /etc/pki/CA/serial

    openssl rsa -in rsa_aes_private_ca.key -passin pass:changeme -out server_key.pem

    openssl req -new -key server_key.pem -out cert.csr -subj "/C=CN/ST=Guangdong/L=Shenzhen/O=HUAWEI/OU=DIS/CN=dis.huawei.com"

    yes yes| openssl ca -days 7300 -in cert.csr -out server.pem -cert ca.pem -keyfile server_key.pem

  3. Linux环境下执行如下命令,利用ca.pem证书和ca的私钥rsa_aes_private_ca.key生成客户端证书(client.pem)、客户端密钥证书(client_key.pem)。

    openssl rsa -in rsa_aes_private_ca.key -passin pass:changeme -out client_key.pem

    openssl req -new -key client_key.pem -out client_cert.csr -subj "/C=CN/ST=Guangdong/L=Shenzhen/O=HUAWEI/OU=DIS/CN=dis.huawei.com"

    yes yes | openssl ca -days 7300 -in client_cert.csr -out client.pem -cert ca.pem -keyfile client_key.pem

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区