我已使用 SHA2 哈希算法(而非 SHA1)安装了新的 SSL 证书。我的证书链使用以下在线验证程序进行检查:
但是这个告诉我找不到根CA:
我该如何解决?
编辑:Derp,这是 URL:secure.symt.us
这是 CentOS 上的 Apache2。
我已严格按照 GoDaddy 的安装说明进行操作并重新启动了服务器。
编辑2,apache vhost配置:
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
SSLCertificateChainFile /etc/pki/tls/certs/gd_bundle-g2.crt
==== [已解决] ====
问题原来是我的 vhost 被定义为<VirtualHost *:443>
。将其更改为服务器的 IP 地址<VirtualHost xx.xx.xx.xx:443>
即可解决问题。
<VirtualHost _default_:443>
尽管没有 SSLCertificateChainFile 指令,但有一个 catch-all 默认值。在 /etc/httpd 中查找 SSLCertificateChainFile 仅返回我的指令。
也许 apache 内部有自己默认的 SSLCertificateChainFile,当配置为 *:443 时拒绝发送我的?
答案1
您缺少证书链。关注GoDaddy 的说明,请确保安装其中级证书(通常称为链或捆绑)
GoDaddy 支持互联网审查你应该认真考虑是否资助他们。尤其是当你能得到免费 SSL 证书。
对于 Apache 2.2.x,您需要以下所有三个(对于标准配置)
SSLCertificateFile /path/to/public/key_file
SSLCertificateKeyFile /path/to/private/key_file
SSLCertificateChainFile /path/to/chain/file
您很可能错过了最后一个。
答案2
您的服务器配置不正确,无法发送所需的中间证书。请参阅这个答案了解有关为什么这是一个问题以及为什么您(甚至一些 SSL 验证者)在测试期间可能没有注意到它的更详细描述。
您缺少的证书是http://certificates.godaddy.com/repository/gdig2.crt。
这SSL 实验室在线测试将此问题显示为警告(并且,顺便说一句,发现服务器配置中的其他几个问题)。
答案3
我也遇到了同样的问题,当我使用 Android 查看网站时,页面显示证书错误。我使用https://www.sslshopper.com/ssl-checker.html 并且链条断裂,经过几次测试后,我使用了这个证书http://certificates.godaddy.com/repository/gdig2.crt就像此属性 SSLCertificateChainFile 的中间证书。我的所有主机都已配置,并且运行完美。
答案4
这个问题花了我几个小时的时间。我有一个 Global Sign 的通配符证书;请参阅 www.unfallkassesachsn.de。我的错误:在 vhosts.d 中配置了 SSL ... 文件。在 ssl-global.conf 中执行此操作后,我得到了 Qualys 的 A 级评分。