4

TLS 拡張機能、特にサーバー名表示 (SNI) をサポートするように openssl クライアントサーバーを構成したいと考えています。

追加の構成パラメーターを指定せずに、ubuntu Linux で最新の openssl 1.0.0e をビルドしました。

 
./config
作る
インストールする

このバージョンのビルド中に追加の構成パラメーターを指定する必要があるかどうかはわかりません。

これで、サーバーをセットアップし、openssl、つまり s_client および s_server によって提供される標準コマンド ライン ツールを使用して、openssl クライアント経由でサーバーに接続しました。

私の質問は: s_client で拡張子として送信されるホスト名を指定するにはどうすればよいですか? openssl には、コマンドラインでいくつかのパラメーターを使用してサーバー名を指定する規定がありますか?

ありがとう!

4

3 に答える 3

11

これはしばらく休眠状態にありました。私はずっと前にこれを理解していたので、答えを書いてこれを締めくくるのは論理的です.

servernameSNI を指定するには、コマンドライン オプションを使用できます。

openssl s_client -connect myweb.address.com:443 -servername myweb.address.com

上記のコマンドは、client hello の SNI 拡張に存在する特定のサーバー名で TLS クライアントをトリガーします。

于 2012-02-28T16:04:58.997 に答える
3

s_serverを使用するには、次のコマンドを使用できます。

openssl s_server -accept 443 -cert normal_cert.pem -key normal_key.ky -servername xyz.com -cert2 sni_cert.pem -key2 sni_key.ky

ここで、クライアントがservername拡張子なしでサーバーを要求するときはいつでも、サーバーはnormal_certで応答し、servername拡張子がclient helloである場合、サーバーはsni_certで応答します。

SNIでs_clientを使用するには、次のコマンドを使用できます。

openssl s_client -servername xyz.com -connect ip:port

于 2012-03-20T11:23:19.993 に答える
2

関連するコマンドライン オプションは次のとおりです。

  • starttls prot: TLS をサポートするプロトコルに対して TLS を開始する前に STARTTLS コマンドを使用します。現在、「smtp」、「pop3」、「imap」、「ftp」、および「xmpp」のみがサポートされています。
  • servername host: TLS 拡張サーバー名を設定します
于 2011-09-29T09:44:40.420 に答える