1

さて、私は最近、Comodo SSL 証明書を以前の Bluehost アカウントから新しいラックスペース クラウド サーバーに転送しました。(ランプスタック)

基本的に、サーバー証明書とキーをコピーして貼り付け、正しくインストールされていることを確認しました。現在、いくつかの問題に直面しています。時折、「信頼できない接続エラー」が発生しているのに、このエラーがまったく発生していない人もいるという話を聞くことがあります。

最近、エラーのスクリーン ショットが送られてきて、「発行者チェーンが提供されていないため、この証明書は信頼されません。

彼らがこれに気付いたブラウザはサファリだったので、サファリのすべての履歴データを消去してサイトを開きましたが、そのエラーは表示されません.

誰かがこのようなものを修正する方法を知っていますか? ありがとう!

openssl s_client と入力すると、次のようになります。

Certificate chain
 0 s:/OU=Domain Control Validated/OU=Hosted by BlueHost.Com, INC/OU=PositiveSSL/CN=www.sitename.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
 1 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=PositiveSSL CA 2
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
4

1 に答える 1

3

ほとんどの場合、「チェーン」または中間証明書 (ブラウザにある人もいれば、ない人もいます) が不足している可能性があります。

これを解決する最も簡単な方法は、証明書の発行者の詳細を確認することです。そしてその証明書を見つけます。次に、「ルート」に到達するまで、その証明書の発行者の詳細を確認します。これは、自己署名証明書 (発行者と同一のサブジェクト) です。

それらをすべて取得したら、それらをファイルに連結し、SSLCertificateChainFile を指定します。

あなたの httpd.conf は次のようになります

   SSLEngine on
   SSLCertificateKeyFile    .../your-key.key
   SSLCertificateFile       .../your-cert.pem
   SSLCertificateChainFile  .../ca-bundle.pem

一部の CA は、証明書を発行するときに、このファイルを「ca-bundle」(https://support.comodo.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=1203) として利用できるようにします。ほとんどはしません。

その場合は、作成する必要があります。やっている

openssl x509 -in <your cert.pem> -noout -issuer

正確な発行者文字列を取得します。グーグルで検索すると、通常、必要な中間証明書が得られます(通常はCAのサポートサイトにあります)。それができたら - 上記を繰り返し、最後のものに到達するまでそれを続けてください -- issuer は subject と同じです。

完了したら、Web サーバーを再起動します。

チェーン全体を取得したことを確認する場合は、次のコマンドを使用します

openssl s_client -connect <your domain name>:443

出力が次で始まることを確認します。

0 s:/C=GB/OU=Domain Control Validated/CN=<your domain>
  i:/C=BE/O=Comodo/CN=Comodo foobar
....
3 s:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA
  i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA

最終的なルートを持つエントリが少なくとも 1 つ (上記の例では 3) あります。S は i と同じです。エントリが 1 つしか表示されない場合

0 s:/C=GB/OU=Domain Control Validated/CN=<your domain>
  i:/C=BE/O=Comodo/CN=Comodo foobar

それ以上は何もありません-次にチェーンをもう一度チェックし、発行者と同じサブジェクトを持つ証明書が含まれていることを確認します(上記の例では「/ C = BE / O = Comodo / CN = Comodo foobar」)。

これは、バンドル内の各ブロブを解析することで確認できます

 openssl x509 -noout -in file.pem -subject -issuer

ここで、file.pem は SSLCertificateChainFile ファイルの 1 つのチャンクです。

警告: 上記は少し単純化したものです - 一部のチェーンには複数のルート/クロス署名がある場合があります。その場合、もう少し複雑になりますが、上記の例に従います。

于 2012-06-26T16:51:25.297 に答える