SSL 不适用于 Android 手机

tes*_*est 4 ssl nginx mobile-devices android

我从 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我收到的四个文件:

  • 添加信任外部CARoot.crt
  • COMODORSAAddTrustCA.crt
  • COMODORSADomainValidationSecureServerCA.crt
  • --------------com.crt

当然,然后我使用该命令将它们全部捆绑在一起,以使用其他命令获取捆绑的证书和密钥。

现在,当我访问https://www.digicert.com/help/并输入我的地址时......它说我安装正确。

我检查了我的证书安装,以确保我的链条正确:

  • Comodo RSA 认证机构
    • Comodo RSA 域验证安全服务器 CA
      • --------------.com

我使用了以下命令:

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我的手机出现错误

Håk*_*ist 5

您的服务器提供的内容中缺少以AddTrust 外部 CA 根(02faf3e291435468607857694df5e45b68851868)结尾的链中的证书之一。

具体来说,中间证书COMODO RSA 证书颁发机构(f5ad0bcc1ad56cd150725b1c866c30ad92ef21b0) 不包含在您提供的服务中。

还可以看到的是,实际的锚点被不必要地包括在内。也许这两个证书以某种方式交换了?

请参阅SSL 实验室报告

  • https://support.comodo.com/index.php?/Default/Knowledgebase/Article/View/620/1/which-is-root-which-is-intermediate 可能有用 (2认同)