86

クライアント証明書を使用したディレクトリ認証ごとのトラブルシューティングを行いたいと考えています。サーバーが送信する受け入れ可能なクライアント証明書を特定したいと思います。

できればcURLを使用して、SSLハンドシェイクをデバッグするにはどうすればよいですか?

4

7 に答える 7

90

このコマンドを使用して、クライアント証明書のネゴシエーションをトラブルシューティングしました。

openssl s_client -connect www.test.com:443 -prexit

サーバーが常にクライアント証明書を必要としない場合、出力にはおそらく「受け入れ可能なクライアント証明書 CA 名」とサーバーからの CA 証明書のリスト、または「クライアント証明書 CA 名が送信されていません」が含まれます。

于 2014-04-02T14:30:13.910 に答える
43
curl -iv https://your.domain.io

openssl コマンドを使用したくない場合は、証明書とヘッダーの出力が得られます。

于 2015-07-06T20:33:50.077 に答える
9

curl にはおそらく、より多くの情報を表示するためのいくつかのオプションがありますが、このような場合は常に使用しますopenssl s_client

-debugオプションを使用すると、多くの有用な情報が得られます

おそらく、これは非 HTTP 接続でも機能することを付け加えておく必要があります。したがって、「https」を実行している場合は、以下に提案されている curl コマンドを試してください。そうでない場合、または必要な場合は、2番目のオプションopenssl s_clientが良いかもしれません

于 2013-07-19T09:03:49.040 に答える