web-dev-qa-db-ja.com

SSL証明書「err_cert_authority_invalid」はモバイルchromeのみ

ドメイン: https://www.amz2btc.com

SSL Labsからの分析: https://www.ssllabs.com/ssltest/analyze.html?d=amz2btc.com

私のすべてのデスクトップブラウザーはこの罰金を開きます。モバイルFirefoxはこれで問題ありません。モバイルChromeで試したときにのみ、エラーが表示されました:err_cert_authority_invalid

私はSSLについてほとんど知らないので、SSLレポートやこのエラーが発生する理由を理解することはできません。誰かがELI5を使用できれば、それが理想的です。 :)

58
S. J.

私はちょうどこれに対処する朝を過ごしました。問題は、証明書がないことではありませんでした。それは私が余分を持っていたことでした。

サーバーキーとSSL認証局から提供された3つのファイルを含むssl.confから始めました。

#   Server Certificate:
SSLCertificateFile /etc/pki/tls/certs/myserver.cer

#   Server Private Key:
SSLCertificateKeyFile /etc/pki/tls/private/myserver.key

#   Server Certificate Chain:
SSLCertificateChainFile /etc/pki/tls/certs/AddTrustExternalCARoot.pem

#   Certificate Authority (CA):
SSLCACertificateFile /etc/pki/tls/certs/InCommonServerCA.pem

デスクトップでは正常に機能しましたが、Chrome上のAndroidは私にerr_cert_authority_invalidを与えました

多くの頭痛の種、検索、そして貧しいドキュメントは後で、私はそれがサーバー証明書チェーンであることがわかりました:

SSLCertificateChainFile /etc/pki/tls/certs/AddTrustExternalCARoot.pem

それは、不完全なsecond証明書チェーンを作成していました。その行をコメントアウトして、

#   Server Certificate:
SSLCertificateFile /etc/pki/tls/certs/myserver.cer

#   Server Private Key:
SSLCertificateKeyFile /etc/pki/tls/private/myserver.key

#   Certificate Authority (CA):
SSLCACertificateFile /etc/pki/tls/certs/InCommonServerCA.pem

そして今、再びAndroidに取り組んでいます。これは、Apache 2.2を実行しているLinuxで行われました。

28
Mike A

Parseを介してWebサイトをホストし、NameCheapから転売されたComodo SSL証明書を使用しているときにも同じ問題が発生しました。

Zipフォルダー内に2つの証明書ファイルを受け取ります:www_yourdomain_com.ca-bundle www_yourdomain_com.crt

Parseにアップロードできるファイルは1つだけです。 SSL証明書入力ボックスの解析

ターミナルで次を使用して2つのファイルを結合します。

cat www_yourdomain_com.crt www_yourdomain_com.ca-bundle > www_yourdomain_com_combine.crt

次に、Parseにアップロードします。これにより、Android ChromeおよびFirefoxブラウザーの問題が修正されるはずです。 https://www.sslchecker.com/sslchecker でテストすることにより、動作することを確認できます。

18
Jasper

IISサーバーでこの問題が発生している場合。

説明:証明書には、代わりに中間証明書のURLが含まれる場合があります実際の証明書の。デスクトップブラウザは、このURLを使用して、欠落している中間証明書をダウンロードできます。しかし、古いモバイルブラウザではそれができません。そこで彼らはこの警告を投げます。

必要がある

1)すべての中間証明書がサーバーによって提供されていることを確認してください

2)IISで不要な証明書パスを無効にします-「信頼されたルート認証局」の下で、ダウンロードをトリガーする証明書の「すべての目的を無効にする」必要があります。

PS。私の同僚は、より詳細な手順を含むブログ投稿を書いています: https://www.jitbit.com/maxblog/21-errcertauthorityinvalid-on-Android-and-iis/

9
Alex

SSLabsのレポートには次のように書かれています。

  This server's certificate chain is incomplete. Grade capped to B.
  ....
  Chain Issues                  Incomplete

多くの場合、デスクトップブラウザには、以前の接続からキャッシュされたチェーン証明書があるか、証明書で指定されたURLからチェーン証明書がダウンロードされます。通常、モバイルブラウザやその他のアプリケーションはサポートしていません。

不足している証明書を含めることでチェーンを修正し、すべてが正しいはずです。

7
Steffen Ullrich

私は手遅れではないことを願っています、ここでこのソリューションは私のために働いた、私はCOMODO SSLを使用しています、上記のソリューションは時間が経つにつれて無効に見える、私のウェブサイトlifetanstic.co.ke

Comodoサポートに連絡してCAバンドルファイルを取得する代わりに、次のことができます。

Comodoから新しいSSL証明書を(メールで)取得すると、Zipファイルが添付されます。 Zipファイルを解凍し、メモ帳などのテキストエディターで次のファイルを開く必要があります。

AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt

次に、各「.crt」ファイルのテキストをコピーし、「Certificate Authority Bundle(optional)」フィールドに互いの上にテキストを貼り付けます。

その後、「証明書」フィールドに通常どおりSSL証明書を追加し、「証明書によるオートフィル」ボタンをクリックして「インストール」をクリックします。

この要点に触発された: https://Gist.github.com/ipedrazas/6d6c31144636d586dcc

5
user4237179

また、チェーンに問題があり、このガイドを使用して解決できました https://Gist.github.com/bradmontgomery/6487319

4
Ricardo Torres

aWSとCloudFrontを使用している私のように、問題を解決する方法は次のとおりです。ドメインのcrtファイルを使用せず、comodoから送信されたものを除いて、他の人が共有したものと似ています。

cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt

これは私にとってはうまくいき、私のサイトではAndroidのchromeにSSL警告が表示されなくなりました。

4
w1n78

証明書チェーンに問題があるかどうかを確認する適切な方法は、次のWebサイトを使用することです。

https://www.digicert.com/help/

テストURLを接続すると、何が間違っているのかがわかります。お客様と同じ症状の問題があり、この問題は中間証明書が原因であると診断されました。

SSL証明書は信頼されていません

証明書は、信頼できる機関によって署名されていません(Mozillaのルートストアと照合)。信頼できる機関から証明書を購入した場合、おそらく1つ以上の中間証明書をインストールする必要があります。サーバープラットフォームでこれを行うには、証明書プロバイダーに問い合わせてください。

3
Knossos

私はこのコマンドで問題を解決しました:

cat __mydomain_com.crt __mydomain_com.ca-bundle > __mydomain_com_combine.crt

以降:

cat __mydomain_com_combine.crt COMODORSADomainValidationSecureServerCA.crt 
COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > mydomain.pem

そして、私のドメインnginx .confで私はサーバー443に置きました:

ssl_certificate          ssl/mydomain.pem;
ssl_certificate_key      ssl/mydomain.private.key;

「Nginx」を再起動することを忘れないでください

service nginx restart
3

機関が以下の場合は、CA証明書をインストールする必要があると思います。

ssl_trusted_certificate ssl/SSL_CA_Bundle.pem;

0
Michael de Oz

私は同じ問題を抱えていましたが、マイクAによって行われた応答はそれを理解するのに役立ちました:私は自分の証明書、中間証明書(Gandi)、他の中間(UserTrustRSA)、そして最後にRootCA証明書を持っていました(AddTrust)。

そこで、最初にGandi + UserTrustRSA + AddTrustでチェーンファイルを作成し、SSLCertificateChainFileで指定しました。しかし、うまくいきませんでした。

そこで、AddTruct証明書をファイルに入れてSSLCACertificateFileで指定し、SSLCertificateChainFileを削除するだけでMikeAの回答を試みましたが、うまくいきませんでした。

したがって、私はSSLCertificateChainFileで指定されたGandi + UserTrustRSAのみでチェーンファイルを作成し、RootCASSLCACertificateFileで指定され、機能しました。

#   Server Certificate:
SSLCertificateFile /etc/ssl/Apache/myserver.cer

#   Server Private Key:
SSLCertificateKeyFile /etc/ssl/Apache/myserver.key

#   Server Certificate Chain:
SSLCertificateChainFile /etc/ssl/Apache/Gandi+UserTrustRSA.pem

#   Certificate Authority (CA):
SSLCACertificateFile /etc/ssl/Apache/AddTrust.pem

あなたが読んだときに論理的に思えますが、それが役立つことを願っています。

0
zeraDev