2013-07-19 28 views
37

slハンドシェークをデバッグするにはどうすればいいですか?SSLハンドシェイクのデバッグ

クライアント証明書によるディレクトリ認証ごとにトラブルシューティングを行いたいと思います。私は特に、受け入れ可能なクライアント証明書がサーバーから送信されているかどうかを確認したいと思います。事前に

おかげで、私はたぶん

答えて

2

カールは、おそらくより多くの情報を表示するためのいくつかのオプションを持っているが、このようなもののために私はいつも-debugオプションを指定するとopenssl s_client

を使用し、これは有用な情報の多くに

を与えますこれは非HTTP接続でも機能するということを付け加えるべきです。したがって、あなたが「https」をやっているなら、下記のカールコマンドを試してみてください。

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

おそらく「許容可能なクライアント証明書のCA名を」含まれています出力と:あなたがないか、またはしたい場合は、私がクライアント証明書の交渉をトラブルシューティングするには、このコマンドを使用している

+1

あなたのバージョンのcurlが(curl -Vを使ってopenssl-checkの代わりに)GnuTLSのような別のSSLライブラリに対してコンパイルされている場合、そのSSLライブラリを使用するバイナリを使って接続をデバッグしようとするべきです代わりに gnutls-cli -V www.google.com 443 –

37

番目のオプションopenssl s_clientは良いかもしれませんサーバーがクライアント証明書を必ずしも必要としない場合は、サーバーからのCA証明書のリスト、または「クライアント証明書CA名が送信されていません」。

+0

「openssl s_client ..」は、証明書チェーンだけを確認しますが、HTTPリクエスト自体の名前は確認しません。私はopenssl好きな証明書に苦しんでいますが、カールはありません。 – radiospiel

+0

私は上記の '-showcerts'を組み合わせて、魅力的に働いています - ありがとう! – Techmag

14
curl -iv https://your.domain.io 

opensslコマンドを使用しない場合は、certとheaderの出力が得られます。

関連する問題