SSLはAndroidモバイルでは機能しません

SSLは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;
    }
}

私が受け取った 4 つのファイルは次のとおりです。

  • 追加TrustExternalCARoot.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/6487319SSL バンドル証明書を取得します。

私のウェブサイトが Android モバイルでは安全に表示されないのに、デスクトップでは表示されるのはなぜですか?

NET::ERR_CERT_AUTHORITY_INVALID携帯電話にエラーが発生します

答え1

チェーン内の証明書の1つはAddTrust 外部 CA ルート(02faf3e291435468607857694df5e45b68851868) は、サーバーが提供する情報に含まれていません。

具体的には中間証明書COMODO RSA 認証局(f5ad0bcc1ad56cd150725b1c866c30ad92ef21b0) は、あなたが提供するものには含まれていません。

また、実際のアンカーが不必要に含まれていることもわかります。おそらく、これら 2 つの証明書が何らかの理由で入れ替わったのでしょうか?

例えばSSLラボレポート

答え2

最近、namecheap/comodo 証明書で同じ問題が発生しました! (でも、なんと 1.99 ドルです)

結局、伝播するのに長い時間がかかっただけだったようです(?)。SSL 証明書がどのように検証されるのかわかりません。

すべてのデスクトップ ブラウザーは正常に動作し、Safari モバイルは良好で、Tor ブラウザーでも問題なく動作しましたが、Chrome モバイルでは証明書が検証済みの人物によって署名されていないという問題が発生しました。

私のチェーンをチェックするhttps://kek.host

数時間後(他のブラウザよりもずっと長い)、Chrome モバイルに緑色のバーが表示されました :)

関連情報