设备接入 IOTDA-使用HTTP/HTTPS转发:制作调测证书

时间:2024-07-30 14:22:53

制作调测证书

调测证书,又叫做自签名证书,用于客户端通过HTTPS访问服务端时进行安全认证。在 物联网平台 的使用中,可用于物联网平台向应用服务器采用HTTPS协议推送数据时,物联网平台认证应用服务器的合法性。本文以Windows环境为例,介绍通过Openssl工具制作调测证书的方法,生成的证书为PEM编码格式的证书,后缀为.cer。

常见的证书存储格式如下表所示。

存储格式

说明

DER

二进制编码,后缀名.der/.cer/.crt

PEM

BASE 64编码,后缀名.pem/.cer/.crt

JKS

Java的证书存储格式,后缀名.jks

自签名证书仅用于调测阶段,在商用时,您需要向知名CA机构申请证书,否则可能会带来安全风险。

  1. 在浏览器中访问这里,下载并安装OpenSSL工具。
  2. 以管理员身份运行cmd命令行窗口。
  3. 执行cd c:\openssl\bin(请替换为openssl实际安装路径),进入openssl命令视图。
  4. 执行如下命令生成CA根证书私钥文件ca_private.key。

    openssl genrsa -passout pass:123456 -aes256  -out ca_private.key 2048
    • aes256:代表加密算法。
    • passout pass:代表私钥密码。
    • 2048:代表密钥长度。

  5. 执行如下命令使用CA根证书私钥文件生成csr文件ca.csr,用于6生成CA根证书。

    openssl req -passin pass:123456 -new -key ca_private.key -out ca.csr -subj "/C=CN/ST=GD/L=SZ/O=Huawei/OU=IoT/CN=CA"

    如下信息您可以根据实际情况进行修改。

    • C:代表国家,填写CN。
    • ST:地区,如GD。
    • L:城市,如SZ。
    • O:组织,如Huawei。
    • OU:组织单位,如IoT。
    • CN:Common Name,填写为CA的组织名,如CA。

  6. 执行如下命令生成CA根证书ca.cer。

    openssl x509 -req -passin pass:123456 -in ca.csr -out ca.cer -signkey ca_private.key -CAcreateserial -days 3650

    如下信息您可以根据实际情况进行修改。

    • passin pass:必须与4中设置的私钥密码保持一致。
    • days:代表证书有效期。

  7. 执行如下命令生成应用服务器端私钥文件。

    openssl genrsa -passout pass:123456 -aes256 -out server_private.key 2048

  8. 执行如下命令生成应用服务器端csr文件,用于生成服务端证书。

    openssl req -passin pass:123456 -new -key server_private.key -out server.csr -subj "/C=CN/ST=GD/L=SZ/O=Huawei/OU=IoT/CN=appserver.iot.com"

    如下信息您可以根据实际情况进行修改。

    • C:代表国家,填写CN。
    • ST:地区,如GD。
    • L:城市,如SZ。
    • O:组织,如Huawei。
    • OU:组织单位,如IoT。
    • CN:Common Name,一般填写为应用服务器的 域名 或IP。

  9. 通过CA私钥文件ca_private.key对服务端csr文件server.csr进行签名,生成服务端证书文件server.cer。

    openssl x509 -req -passin pass:123456 -in server.csr -out server.cer -sha256 -CA ca.cer -CAkey ca_private.key -CAserial ca.srl -CAcreateserial -days 3650

  10. (可选)如果您需要.crt/.pem后缀的证书,可以根据如下命令进行转换。下面将以server.cer转为为server.crt为例进行说明,需要转换ca.cer证书时,请将命令中的server替换为ca。

    openssl x509 -inform PEM -in server.cer -out server.crt

  11. 在openssl安装目录的bin文件夹下,获取生成的CA证书(ca.cer/ca.crt/ca.pem)、应用服务器证书(server.cer/server.crt/server.pem)和私钥文件(server_private.key)。其中CA证书用于加载到物联网平台,应用服务器证书和私钥文件用于加载到应用服务器。
support.huaweicloud.com/usermanual-iothub/iot_01_0001.html