Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::SSL::SSLContextクラス > renegotiation_cb=

instance method OpenSSL::SSL::SSLContext#renegotiation_cb=

renegotiation_cb=(cb)[permalink][rdoc]

[TODO]

ハンドシェイク開始時に呼び出されるコールバックを設定します。

コールバックには OpenSSL::SSL::SSLSocket オブジェクトが 渡されます。

このコールバック内で何らかの例外が生じた場合には 以降のSSLの処理を停止します。

再ネゴシエーションのたびにこのコールバックが呼び出されるため、 何らかの理由で再ネゴシエーションを禁止したい場合などに利用できます。

nil を渡すとコールバックは無効になります。

以下の例は再ネゴシエーションを一切禁止します。

num_handshakes = 0
ctx.renegotiation_cb = lambda do |ssl|
  num_handshakes += 1
  raise RuntimeError.new("Client renegotiation disabled") if num_handshakes > 1
end
[PARAM] cb:
コールバック(Proc, Method など)もしくは nil

[SEE_ALSO] OpenSSL::SSL::SSLContext#renegotiation_cb