我安装了Go Daddy SSL证书,除Android外,其他所有地方都可以正常工作。
https://www.ssllabs.com/ssltest/analyze.html 表示链不完整,我在堆栈溢出中看到,错误顺序的SSL链将在Android上失败。
但是我该如何整理呢?在我的服务器上?SSL证书本身需要重新加密吗?在FTP上移动内容?
我安装了Go Daddy SSL证书,除Android外,其他所有地方都可以正常工作。
https://www.ssllabs.com/ssltest/analyze.html 表示链不完整,我在堆栈溢出中看到,错误顺序的SSL链将在Android上失败。
但是我该如何整理呢?在我的服务器上?SSL证书本身需要重新加密吗?在FTP上移动内容?
Answers:
跟随zakjan的回答,当我尝试使用jquery在我的新安全服务器上的android webview中执行AJAX请求时遇到问题。它在浏览器中有效,但在我的应用程序中无效。
我使用了这个网站:https : //certificatechain.io/
我粘贴了从Comodo(positiveSSL)返回的签名的.crt文件的文本,它使我回想起了我需要的所有内容。我将其保存为我的域+“ chain.crt”(请参见下文)
然后,在我的apache配置中,我为特定的虚拟主机输入了以下内容:
SSLEngine On
SSLCertificateFile /etc/ssl/localcerts/example_com.crt
SSLCertificateKeyFile /etc/ssl/localcerts/example.com.key
SSLCACertificateFile /etc/ssl/localcerts/example.com.chain.crt
在那之后,我的Android应用程序的webview使用ajax POST到服务器没有问题。我在2个实际设备上进行了尝试,其中一个运行2.3.4,一个运行4.something。并在模拟器上运行2.3。所有工作。
我希望这有帮助。
SSLCACertificateFile
是我错过了线。最初,我认为我的CA太新了,因为当某些浏览器/ OS要求使用SSL时,SSL才起作用。使用解码器。链接/ sslchecker帮助澄清我的配置错误,并且此答案已解决。谢谢!!
链位于crt文件中,表明原始SSL正在运行。
对于GoDaddy,有第二个证书-gd_bundle.crt
复制此信息并将其添加到服务器上安装的crt。
因此,服务器上的原始crt具有1个证书,之后在同一文件中将具有3个证书。这是连锁店。
我仍然有包含链问题的锚ssllabs.com但这不是问题,只是一个选项,或出假-根据- /security/24561/ssltest-chain-issues -contains-anchor / 24566#24566
您可以通过将证书中的所有证书连接到受信任的根证书(以排他性顺序排列)来手动解决证书链不完整的问题,以防止此类问题的发生。请注意,受信任的根证书不应存在,因为它已经包含在系统的根证书存储中。
您应该能够从颁发者那里获取中间证书,并自己将它们合并在一起。顺便说一句,我已经编写了一个脚本来自动执行该过程,它需要一个证书来生成正确链接的证书的输出。https://github.com/zakjan/cert-chain-resolver
SSLCACertificateFile
指令并将其指向我的权限给我的CA文件。如果我只是将其他证书串联到我的证书文件中,将无法正常工作。