更新时间:2024-03-21 GMT+08:00

为什么要使用无密码保护的私钥?

因为私钥是加载密码保护的,且其他云产品在使用数字证书的过程中需要使用您提供的私钥,所以如果您的私钥是加载密码保护的,那么其它云产品在加载您的数字证书时将无法使用您的私钥,可能导致数字证书解密失败,HTTPS服务失效。因此,需要您提供无密码保护的私钥。

在您生成私钥时,请去掉密码保护后再进行上传。

如何去除私钥密码保护

如果您的密钥已经加载密码保护,可以通过OpenSSL工具运行以下命令去掉密码保护:

openssl rsa -in encryedprivate.key -out unencryed.key

其中,“encryedprivate.key”是带密码保护的私钥文件;“unencryed.key”是去掉了密码保护的私钥文件,扩展名为key或pem均可。

如果您的证书使用的是除密码保护的私钥,当需要将该证书部署给CDN时,需要检查证书文件的格式。因为CDN要求证书文件必须是RSA加密的,即私钥是以“-----BEGIN RSA PRIVATE KEY-----”开头并以“-----END RSA PRIVATE KEY-----”结尾的格式。如果证书文件不是此格式,则需要使用工具转换证书的格式。具体转换方式,请参考主流数字证书有哪些格式?

什么样的私钥是有密码保护的

使用文本编辑器打开您的私钥文件,如果私钥文件是如下样式,则说明您的私钥是已加载密码保护的:

  • PKCS#8私钥加密格式
    -----BEGIN ENCRYPTED PRIVATE KEY-----
    ......BASE64 私钥内容......
    -----END ENCRYPTED PRIVATE KEY-----
  • Openssl ASN格式
    -----BEGIN RSA PRIVATE KEY-----
    Proc-Type: 4,ENCRYPTED 
    DEK-Info:DES-EDE3-CBC,4D5D1AF13367D726 
    ......BASE64 私钥内容......
    -----END RSA PRIVATE KEY-----

用Keytool工具生成的密钥都是带有密码保护的,您可以转换成无密码的密钥文件。关于具体转换方式,请参考主流数字证书有哪些格式?