Ruby 4.1 リファレンスマニュアル

instance method OpenSSL::SSL::SSLContext#keylog_cb

keylog_cb -> Proc | nilRuby 3.2 から[permalink][rdoc][edit]
keylog_cb=(cb)

TLS の鍵情報が生成、あるいは受信されたときに呼び出されるコールバックを取得・設定します。

コールバックには OpenSSL::SSL::SSLSocket オブジェクトと、NSS の SSLKEYLOGFILE デバッグ出力形式のキー情報を含む文字列が渡されます。この情報をファイルに保存しておくことで、Wireshark などのツールで通信内容を復号してデバッグするのに使えます。

OpenSSL 1.1.1 以降でのみ利用できます。

proc{|sslsocket, line| ... }
[PARAM] cb:
コールバックオブジェクト(Proc や Method など)
例
require 'openssl'
context = OpenSSL::SSL::SSLContext.new
context.keylog_cb = proc do |_sock, line|
  File.open('ssl_keylog_file', "a") do |f|
    f.write("#{line}\n")
  end
end