ドメイン: 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を使用できれば、それが理想的です。 :)
私はちょうどこれに対処する朝を過ごしました。問題は、証明書がないことではありませんでした。それは私が余分を持っていたことでした。
サーバーキーと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で行われました。
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 でテストすることにより、動作することを確認できます。
IISサーバーでこの問題が発生している場合。
説明:証明書には、代わりに中間証明書のURLが含まれる場合があります実際の証明書の。デスクトップブラウザは、このURLを使用して、欠落している中間証明書をダウンロードできます。しかし、古いモバイルブラウザではそれができません。そこで彼らはこの警告を投げます。
必要がある
1)すべての中間証明書がサーバーによって提供されていることを確認してください
2)IISで不要な証明書パスを無効にします-「信頼されたルート認証局」の下で、ダウンロードをトリガーする証明書の「すべての目的を無効にする」必要があります。
PS。私の同僚は、より詳細な手順を含むブログ投稿を書いています: https://www.jitbit.com/maxblog/21-errcertauthorityinvalid-on-Android-and-iis/
SSLabsのレポートには次のように書かれています。
This server's certificate chain is incomplete. Grade capped to B.
....
Chain Issues Incomplete
多くの場合、デスクトップブラウザには、以前の接続からキャッシュされたチェーン証明書があるか、証明書で指定されたURLからチェーン証明書がダウンロードされます。通常、モバイルブラウザやその他のアプリケーションはサポートしていません。
不足している証明書を含めることでチェーンを修正し、すべてが正しいはずです。
私は手遅れではないことを願っています、ここでこのソリューションは私のために働いた、私は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
また、チェーンに問題があり、このガイドを使用して解決できました https://Gist.github.com/bradmontgomery/6487319
aWSとCloudFrontを使用している私のように、問題を解決する方法は次のとおりです。ドメインのcrtファイルを使用せず、comodoから送信されたものを除いて、他の人が共有したものと似ています。
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl-bundle.crt
これは私にとってはうまくいき、私のサイトではAndroidのchromeにSSL警告が表示されなくなりました。
証明書チェーンに問題があるかどうかを確認する適切な方法は、次のWebサイトを使用することです。
https://www.digicert.com/help/
テストURLを接続すると、何が間違っているのかがわかります。お客様と同じ症状の問題があり、この問題は中間証明書が原因であると診断されました。
SSL証明書は信頼されていません
証明書は、信頼できる機関によって署名されていません(Mozillaのルートストアと照合)。信頼できる機関から証明書を購入した場合、おそらく1つ以上の中間証明書をインストールする必要があります。サーバープラットフォームでこれを行うには、証明書プロバイダーに問い合わせてください。
私はこのコマンドで問題を解決しました:
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
機関が以下の場合は、CA証明書をインストールする必要があると思います。
ssl_trusted_certificate ssl/SSL_CA_Bundle.pem;
私は同じ問題を抱えていましたが、マイク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
あなたが読んだときに論理的に思えますが、それが役立つことを願っています。