web-dev-qa-db-ja.com

スターフィールドワイルドカードSSL証明書がすべてのブラウザーで信頼されていない

スターフィールドワイルドカードSSL証明書を使用してこの問題をデバッグするために、他に何を試すことができるか迷っています。

問題は、特定のブラウザ(Safariまたは最新のchromeたとえば、OS X 10.5.8で取得できます)で証明書が次のように表示されることです。ルートドメイン上であっても信頼されない

私のサーバーのセットアップ/背景情報:

  • 一般的なLAMPセットアップ-CentOS 6.3-Godaddy VPS
  • Starfield Technologies Wildcard SSL証明書
  • Godaddyのサポートページの指示を使用してインストール
  • ssl.confの行は基本的に次のとおりです:

    SSLCertificateFile /path/to/cert/mysite.com.cert
    SSLCertificateKeyFile /path/to/cert/mysite.key
    SSLCertificateChainFile /path/to/cert/sf_bundle.crt

OS Xの問題に気付いた昨夜まで、すべてが正常に機能していたようですが、ブラウザのバージョンがより関連していると思いますが、その特定のマシンでしかそれを複製できませんでした。

私が試したこと:

  • Godaddyの証明書リポジトリとStarfieldのリポジトリバージョンからのsf_bundle.crtの更新
  • 以下 Jim PharesからのこのServerFaultの回答 -StarFileのリポジトリからChainFile行をsf_intermediate.crtに変更
  • URLで http://www.sslshopper.com/ssl-checker.html を使用する
    • ドメインは証明書に正しくリストされていると表示されますが、というエラーが表示されます。証明書はすべてのWebブラウザで信頼されているわけではありません。信頼できるルート証明書にリンクするには、中間/チェーン証明書をインストールする必要がある場合があります。

信頼されていない証明書の問題を解決するために次に何を試すことができますか?

この問題のデバッグに役立つ可能性のある他の情報が必要かどうかをお知らせください。前もって感謝します!

ソリューション:

My problem ended up being that I had forgotten to add the SSLCertificateChainFile line to the virtual Host(s) in my httpd.conf and had only been editing those lines in ssl.conf instead, thanks for all the suggestions!

9
Austen Cameron

あなたができる2つのこと:

  1. 中間チェーンを確認する
  2. 中間チェーンをクリーンアップします

中間チェーンを確認する

エラーが示すように、中間証明書チェーンについて何か問題があります。証明書をどこから取得したか、および正しい中間バンドルを取得したかどうかを確認する必要があります。

openssl x509 -noout -hashおよびopenssl x509 -noout -issuer_hashコマンドを使用して、チェーン内のすべての証明書の「ハッシュ」と「発行者のハッシュ」を確認する必要があります。これを試して、証明書の発行者ハッシュを取得します。

cat /path/to/cert/mysite.com.cert | openssl x509 -noout -issuer_hash

次に、SSLCertificateChainFileとして指定したsf_bundle.crtファイルで、このハッシュを使用した証明書を見つけてください。証明書を抽出する必要がある場合があります(またはコマンドにコピーして貼り付けます)。

cat first_cert_from_sf_bundle.crt | openssl x509 -noout -hash

それらすべてをチェックしてください。誰もこのハッシュを持っていない場合、何かが間違っています。同じ-hash-issuer_hashの証明書が見つかるまで、これらのチェックを繰り返します。これがルート証明書です。

何か不足している場合は、他の中間ファイル https://certs.starfieldtech.com/anonymous/repository.seam を確認できます。これらをダウンロードし、行き詰まった-hash-issuer_hashを比較してください。

すべてが大丈夫なら、そして....

中間チェーンをクリーンアップします

これは、奇妙な検証エラーが発生した場合にも役立ちます。中間チェーンがのみ必要な証明書とを正しい順序でリストしていることを確認してください(PEM形式の方が簡単です)。つまり、チェーンがYour cert -> cert A -> cert B -> Starfield Root certの場合です。これらをこの順序で追加してみてください(最初と最後をスキップできます)。中間チェーンは次のようになります。

-----BEGIN CERTIFICATE-----
cert A
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
cert B
-----END CERTIFICATE-----

私は個人的に、これらすべての証明書(個人証明書、中間証明書、ルート証明書)を同じファイルに保持したいと思っています。次に、このファイルをSSLCertificateFileSSLCertificateChainFileの両方として指定します。

10
chutz