web-dev-qa-db-ja.com

SSL / TLSクライアント認証:受け入れ可能なクライアント証明書のCA名を確認するにはどうすればよいですか?

SSL/TLSクライアント認証を使用し、証明書の提示を必要とするHTTPSサービスがあります。クライアント証明書を提示せずに、openssl s_clientを使用して、受け入れ可能なクライアント証明書CA名のリストを取得するにはどうすればよいですか?

クライアント証明書なしで試行すると、次のエラーが発生します。

4967:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:
2

-prexitオプションを使用する必要があります:

例えば。

openssl s_client -connect server:8443 -prexit

プログラムの終了時にセッション情報を出力します。これは、接続が失敗した場合でも、常に情報を出力しようとします。通常、接続が成功した場合、情報は一度だけ出力されます。このオプションは、使用中の暗号が再ネゴシエートされるか、クライアント証明書が必要であるか、特定のURLへのアクセスが試行された後にのみ要求されるため、接続が失敗する可能性があるため便利です。注:このオプションによって生成される出力は、接続が確立されていない可能性があるため、必ずしも正確であるとは限りません。

3

次のコマンドを使用します。

openssl s_client -connect website_fqdn:443 -state -nbio 2>&1

出力には「許容可能なクライアント証明書CA名」が含まれます

0
user436754