如何使用GoDaddy颁发的私钥与通配符SSL证书生成PFX文件
解决方案
第一步:排查私钥加载失败问题
你遇到的Expecting: ANY PRIVATE KEY报错本质是OpenSSL无法识别你提供的私钥文件内容,优先排查以下问题:
- 确认私钥文件内容完整:打开
generated-private-key.txt,检查是否完整包含-----BEGIN PRIVATE KEY-----开头和-----END PRIVATE KEY-----结尾的标识行,中间的密钥内容无多余空格、换行、不可见字符。 - 清除文件扩展属性:你文件权限后带的
@标识说明存在Mac系统的扩展属性,执行以下命令清除:
xattr -c generated-private-key.txt
- 校验私钥合法性:执行以下命令验证私钥是否有效,输出
RSA key ok则说明私钥正常:
openssl rsa -in generated-private-key.txt -check
第二步:生成合法PFX文件
私钥校验通过后,原来的命令缺少GoDaddy的中间+根证书链,会导致部分云服务商识别证书不完整,使用以下命令生成PFX:
openssl pkcs12 -export -out cert.pfx -inkey generated-private-key.txt -in 54994fbd90cc1fc8.crt -certfile gd_bundle-g2-g1.crt
执行过程中会要求你设置导出密码,该密码后续上传PFX到云服务商时需要填写,请妥善留存。
第三步:校验PFX文件有效性
生成后执行以下命令验证PFX文件是否正常,可正常输出证书、私钥内容即为可用:
openssl pkcs12 -in cert.pfx -info -nodes
什么情况需要重新签发证书?
如果第一步校验私钥始终报错,说明你保存的私钥文件已经损坏,此时才需要重新生成CSR提交GoDaddy重新签发,无需使用ssh-keygen(该工具用于生成SSH密钥,不适用SSL证书场景),操作步骤如下:
- 生成新的私钥文件:
openssl genrsa -out private.key 2048
- 基于私钥生成CSR文件:
openssl req -new -key private.key -out cert.csr
- 将CSR内容提交到GoDaddy后台重新签发证书,下载新的证书文件后,按照第二步的命令生成PFX即可。
内容的提问来源于stack exchange,提问作者mobiusinversion
相关产品推荐
相关产品推荐

