Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > 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
[SEE_ALSO] OpenSSL::SSL::SSLContext#renegotiation_cb