46

問題が発生し、デバッグしようとしています。ベリサイン証明書を購入しました。使用する場合:

openssl> s_client -connect myweb.com:443 -showcerts

SSLハンドシェイクが完了することはなく、最後にエラーが表示されます。

Verify return code: 19 (self signed certificate in certificate chain)

3つ---BEGIN/END CERTIFICATE---のタグが表示されます。チェーン内の2つの証明書はベリサイン署名されていますが、1つは自己署名されています。

  1. 誰かがこの自己署名証明書がCA署名証明書にどのように表示されるかを説明できますか?

  2. このエラーは19 (self signed certificate in certificate chain)無害ですか?そうでない場合、何が原因である可能性がありますか?

  3. クライアントは信頼できるストアにCA証明書を持っていますが、自己署名証明書には何もありません。それが問題を引き起こしていると思いますか?はいの場合、どうすればよいですか。

    1. チェーン証明書から自己署名証明書を削除するには、CA署名付き証明書をチェーンに2つだけ残しておくにはどうすればよいですか?
    2. この自己署名証明書をクライアントの信頼できるストアに追加しますか?
4

5 に答える 5

78

CAによって発行されるルート証明書は、自己署名証明書です(これは、中間CA証明書を発行するために使用される場合があります)。多くのブラウザやOSのトラストアンカーにデフォルトでインポートされていることを除けば、それほど特別なことはありません。

opensslブラウザと一部のツールは、コマンドが認識していない限り、デフォルトで信頼できるCA証明書(一部は自己署名されている可能性があります)を検索するように構成されています。

そのため、エンドエンティティ証明書(サーバーの証明書)からルートCA証明書(場合によっては中間CA証明書を含む)までの証明書の完全なチェーンを提示するサーバーは、チェーン内に自己署名証明書(ルートCA)を持ちます。 。

openssl s_client -connect myweb.com:443 -showcertsVerisignのルートCA証明書を信頼する特別な理由はありません。自己署名されているため、「証明書チェーン内の自己署名証明書」を取得できます。

システムにデフォルトで信頼されている証明書のバンドルがある場所がある場合(/etc/pki/tls/certsRedHat/Fedoraおよび/etc/ssl/certsUbuntu/Debianで考えます)、たとえば次のように、それらをトラストアンカーとして使用するようにOpenSSLを構成できます。

openssl s_client -connect myweb.com:443 -showcerts -CApath /etc/ssl/certs
于 2010-11-05T13:28:14.000 に答える
9

中間証明書が欠落しているようです。 2006 年 4 月現在、VeriSign が発行するすべての SSL 証明書には、中間 CA 証明書のインストールが必要です。

サーバーに証明書チェーン全体がロードされていない可能性があります。一部の企業では、コンピューターが追加の証明書をダウンロードすることを許可していないため、SSL ハンドシェイクを完了できません。

中間チェーンに関する情報は次のとおりです:
https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AR657
https://knowledge.verisign.com/support/ssl-certificates-support /index?page=content&id=AD146

中間 CA 証明書

于 2010-11-05T04:05:13.230 に答える
3

VeriSign の SSL 証明書インストール チェッカーへのリンクは次のとおりです: https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AR1130

URL を入力し、[この Web サーバーをテスト] をクリックすると、中間認証局に問題があるかどうかがわかります。

于 2012-03-16T12:38:52.140 に答える
1

" " が表示されたVerify return code: 19 (self signed certificate in certificate chain)場合、サーバーが実際に自己署名証明書を使用しようとしているか (クライアントが検証することはできません)、または OpenSSL が必要なルートへのアクセス権を持っていないが、サーバーがそれ自体を提供しようとします(これは無意味なのですべきではありません-クライアントはサーバーがサーバー自身の証明書に対応するルートを提供することを信頼することはできません)。

繰り返しますが、-showcerts を追加すると、どれを診断するのに役立ちます。

于 2012-10-11T09:42:52.283 に答える