SSL/TLSクライアント認証を使用し、証明書の提示を必要とするHTTPSサービスがあります。クライアント証明書を提示せずに、openssl s_client
を使用して、受け入れ可能なクライアント証明書CA名のリストを取得するにはどうすればよいですか?
クライアント証明書なしで試行すると、次のエラーが発生します。
4967:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:
-prexit
オプションを使用する必要があります:
例えば。
openssl s_client -connect server:8443 -prexit
プログラムの終了時にセッション情報を出力します。これは、接続が失敗した場合でも、常に情報を出力しようとします。通常、接続が成功した場合、情報は一度だけ出力されます。このオプションは、使用中の暗号が再ネゴシエートされるか、クライアント証明書が必要であるか、特定のURLへのアクセスが試行された後にのみ要求されるため、接続が失敗する可能性があるため便利です。注:このオプションによって生成される出力は、接続が確立されていない可能性があるため、必ずしも正確であるとは限りません。
次のコマンドを使用します。
openssl s_client -connect website_fqdn:443 -state -nbio 2>&1
出力には「許容可能なクライアント証明書CA名」が含まれます