Windows系统Apache安装GoDaddy SSL证书出现SSLPassPhraseDialog报错如何解决
Windows Apache GoDaddy SSL证书安装报错解决方案
错误核心原因
本次报错包含两个核心问题:
- Windows版本的Apache不支持内置私钥密码输入对话框,你的私钥文件设置了密码保护,触发
AH02577错误 - 私钥文件格式不符合Apache要求,或配置路径/文件对应关系错误,触发ASN1编码相关报错
分步解决步骤
步骤1:确认下载的证书文件作用
你从GoDaddy下载的3个文件对应作用如下:
- 文件名包含你站点域名的
.crt文件:站点实体证书 - 文件名包含
gd_bundle字样的.crt文件:GoDaddy根证书链 .pem格式文件:站点私钥文件
步骤2:移除私钥的密码保护
Windows版Apache无法读取带密码的私钥,需要先去除密码:
- 打开系统CMD命令行,进入Apache的bin目录,你当前环境的路径为
C:/AppServ/Apache24/bin,执行以下命令:openssl rsa -in C:/AppServ/Apache24/conf/website-example.pem -out C:/AppServ/Apache24/conf/website-example-nopass.pem - 执行命令后会提示输入私钥密码,输入你当初生成CSR时设置的密码,确认后会生成无密码的新私钥文件
website-example-nopass.pem
步骤3:转换私钥为Apache兼容格式
如果去除密码后仍报编码错误,需要将私钥转换为RSA格式:
- 继续在CMD的Apache bin目录下执行命令:
openssl rsa -in C:/AppServ/Apache24/conf/website-example-nopass.pem -out C:/AppServ/Apache24/conf/website-example-rsa.pem - 用记事本打开转换后的私钥文件,确认开头为
-----BEGIN RSA PRIVATE KEY-----,结尾为-----END RSA PRIVATE KEY-----,中间无多余空行、乱码
步骤4:正确配置Apache SSL参数
打开Apache的SSL配置文件,一般路径为C:/AppServ/Apache24/conf/extra/httpd-ssl.conf,找到443端口的虚拟主机配置段,按以下规则修改:
<VirtualHost *:443> DocumentRoot "你的站点根目录路径" ServerName 你的实际域名:443 SSLEngine on # 填写站点实体证书路径 SSLCertificateFile "C:/AppServ/Apache24/conf/你的域名.crt" # 填写无密码的私钥路径,用转换后的RSA格式私钥也可以 SSLCertificateKeyFile "C:/AppServ/Apache24/conf/website-example-nopass.pem" # 填写GoDaddy根证书链路径 SSLCACertificateFile "C:/AppServ/Apache24/conf/gd_bundle-g2-g1.crt" # 其余原有配置保持不变即可 </VirtualHost>
注意:配置路径统一使用正斜杠/,不要用Windows默认的反斜杠\,路径包含空格的话必须加双引号包裹。
步骤5:验证配置并重启Apache
- 继续在CMD的Apache bin目录下执行配置校验命令:
httpd -t - 命令返回
Syntax OK则说明配置无错误,执行重启命令生效:httpd -k restart
异常排查
- 若仍提示ASN1编码错误,检查三个证书文件的配置项是否填反,不要把私钥路径填到证书配置项上
- 确认
httpd.conf中LoadModule ssl_module modules/mod_ssl.so配置项前的注释符号#已删除,mod_ssl模块正常加载 - 不要手动修改证书、私钥文件的内容,确保文件为原始UTF-8编码,无多余BOM头
内容的提问来源于stack exchange,提问作者Phatthara Bunluesin
相关产品推荐
相关产品推荐

