Openssl错误19:“GoDaddy”键入的“证书链中的自签名证书”

有人可以帮助我了解如何validation我的SSL证书安装是否正确(或解决问题的原因)?

我在我的Apache服务器上安装了GoDaddy SSL证书。 一些用户仍在报告问题(某些版本的IE浏览器显示“此页面无法显示”,没有进一步解释),openssl说在链中有一个“自签名”的证书。 请注意,这不是一个自签名的证书 。 它由GoDaddy签署。 本文有一个相关的答案,不起作用: https : //stackoverflow.com/a/4106224/1723405

以下是我采取的步骤:

步骤1:生成一个私钥

openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key 

第二步:转到GoDaddy并重新粘贴CSR.csr

第3步:在Apache中安装crt和bundle文件,然后重新启动。

 // In <VirtualHost> SSLEngine on SSLProtocol -ALL +SSLv3 +TLSv1 SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP SSLVerifyClient none SSLCertificateFile /path/to/allthingsinsurance.net.crt SSLCertificateKeyFile /path/to/privateKey.key SSLCertificateChainFile /path/to/gd_bundle-g2.cr % apachectl restart 

步骤4:转到几台机器中的任何一台,但无法使用openssl进行validation。

 % openssl s_client -connect allthingsinsurance.net:443 -showcerts -CApath /etc/ssl/certs ...lots of output, shows certs I installed... Verify return code: 19 (self signed certificate in certificate chain) 

第5步:转到在线SSLvalidation服务并收到混合报告:

  • whynopadlock.com: 自签名错误
  • ssltest.net: 自签名错误
  • ssllabs.com: 好的
  • crossbrowsertesting.com: 类似的错误

如果whynopadlock.com和ssltest.net抱怨证书,而ssllabs.com说事情没有问题,请检查您的虚拟主机configuration。 SSLLabs.com支持SNI,而whynopadlock.com,ssltest.net和旧版IE则不支持。

当客户端不支持SNI时,Web服务器将无法使用服务器名称,然后该服务器名称将回退到第一个匹配的虚拟主机。 也许你有另一个虚拟主机用于testing目的,优先于您的主要网站。

解决方法是更改​​此订单或为此主机使用专用IP地址。