在我重新颁发新证书并用ubuntu替换我的apache2服务器上的文件后,我获得了StarCom的SSL证书一年。因为,我无法在手机上访问我的网站。不幸的是,iOS并没有显示任何错误,只是空白页。
我检查了所有SSL跳棋,他们都给了我A +。这是我配置的一部分:
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ALL:!DH:!EXPORT:!RC4:+HIGH:+MEDIUM:!LOW:!aNULL:!eNULL
SSLCertificateFile /etc/ssl/domain/new/domain.crt
SSLCertificateKeyFile /etc/ssl/domain/new/private.key
# SSLCertificateChainFile /etc/ssl/domain/new/1_root_bundle.crt
SSLCACertificateFile /etc/ssl/domain/new/cer.crt
我花了整整一夜才找到解决方案,但没有。所有证书均有效,包括CA.我试图启用Chain,但无论如何都没有结果。
通过使用Mac的Safari调试iOS设备,我收到此错误:
无法加载资源:此服务器的证书无效。您可能正在连接到假装为“your.site.com”的服务器,这可能会使您的机密信息面临风险。
答案 0 :(得分:0)
startcom
,因此问题出在您的服务器上。
您可能错误配置了认证链。配置SSLCertificateChainFile
,确保1_root_bundle.crt
具有从叶子(您的证书)到根(不包括)的所有证书链。在starcom的情况下,我认为他们有1个中间人,所以链将有两个证书
链只是PEM编码证书的串联。如果您打开1_root_bundle.crt
,则会看到----- BEGIN CERTIFICATE -----
和----- END CERTIFICATE -----
我不确定apache是否需要SSLCertificateChainFile
属性中的完整链或仅需要中间体。如果您使用的是apache 2.4.8,则可以在domain.crt
中包含所有证书并忘记此属性。见documentation
同时删除SSLCACertificateFile