我的网站是https://blendbee.com。它使用有效的 PositiveSSL 证书。
在 Windows 8 Chrome 中,证书正常(左上角有绿色锁)。
但是...在我的 Android 上,效果不太好。截图: http://postimg.org/image/6vc64lr1d/
知道原因吗?
该服务器在 Digital Ocean 上运行 Ubuntu 13.10。
答案1
您需要提供整个证书链才能使其显示为受信任。
这是我获得的有关在 apache 中安装证书链的 comodo 说明的链接:https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/637/37/certificate-installation-apache--mod_ssl
我从http://www.sslshopper.com/ssl-checker.html#hostname=blendbee.com,由于链不完整,它将您的证书标记为不受所有浏览器信任。
答案2
证书可以包含特殊权限信息访问扩大 (RFC-3280) 以及颁发者证书的 URL。大多数浏览器可以使用 AIA 扩展下载缺失的中间证书以完成证书链。但有些客户端(移动浏览器、OpenSSL)不支持此扩展,因此它们会将此类证书报告为不受信任。
你可以解决证书链不完整通过将证书中的所有证书连接到受信任的根证书(按此顺序排除)来手动颁发,以防止此类问题。请注意,受信任的根证书不应存在,因为它已包含在系统的根证书存储中。
您应该能够从颁发者处获取中间证书并自行将它们连接在一起。我编写了一个脚本来自动执行该过程,它循环遍历 AIA 扩展以生成正确链接的证书的输出。https://github.com/zakjan/cert-chain-resolver
答案3
Chrome 不信任根证书和中间证书,我认为 Chrome 使用的是 Android 的原生 CA 集。该集可从 中查看settings->security->Trusted credentials
。
这个问题通过 android.se 广告,可能会提供进一步的帮助。