![SSL 不适用于 Android 手机](https://linux22.com/image/660680/SSL%20%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%20Android%20%E6%89%8B%E6%9C%BA.png)
我从 Namecheap 购买了 Comodo SSL。现在,SSL 在桌面上运行良好,但在手机上却收到“此连接不是私密的”提示。在 Android 上的 Chrome 上
这是我的虚拟主机文件:
server {
listen 80;
server_name www.-------------.com;
return 301 https://www.-------------.com$request_uri;
}
server {
listen 443 ssl;
root /var/www/-------------.com/html;
index index.html index.htm;
ssl_certificate /etc/nginx/ssl/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/navarrarpg_com.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;
server_name www.-------------.com;
location / {
try_files $uri $uri/ =404;
}
}
以下是我收到的四个文件:
- 添加信任外部CARoot.crt
- COMODORSAAddTrustCA.crt
- COMODORSADomainValidationSecureServerCA.crt
- -------------_com.crt
当然,然后我使用该命令将它们全部捆绑在一起,以使用另一个命令获取捆绑的证书和密钥。
现在,当我去https://www.digicert.com/help/然后我输入我的地址...它说我安装正确。
我检查了我的证书安装以确保我的链正确:
- Comodo RSA 认证机构
- Comodo RSA 域验证安全服务器 CA
- -------------.com
- Comodo RSA 域验证安全服务器 CA
我使用了以下命令:
cat -------------_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
摘自本指南:https://gist.github.com/bradmontgomery/6487319获取 ssl 捆绑证书。
为什么我的网站无法安全地显示在 Android 手机上,但却可以显示在桌面上?
NET::ERR_CERT_AUTHORITY_INVALID
我的手机出现错误
答案1
证书链中的一个证书结尾为AddTrust 外部 CA 根您的服务器提供的内容缺少 (02faf3e291435468607857694df5e45b68851868)。
具体来说,中级证书COMODO RSA 认证机构(f5ad0bcc1ad56cd150725b1c866c30ad92ef21b0)不包含在您所提供内容中。
还可以看到,实际的锚点被不必要地包含进去了。也许这两个证书以某种方式被调换了?
答案2
我最近在 namecheap/comodo 证书方面也遇到了同样的问题!(但是天啊,要 1.99 美元)
事实证明它只是花了很长时间来传播(?)...我不知道如何验证 SSL 证书。
所有桌面浏览器都运行良好,Safari 移动版很好,甚至 Tor 浏览器也喜欢它们,但 Chrome 移动版给我带来了问题,说证书不是由经过验证的人员签名的。
查看我的连锁店https://kek.host
几个小时后(比其他浏览器长得多),我在 Chrome 移动版中看到了绿条 :)