SSL コンテクストクラス
SSLContext.new(ssl_method)
SSLContext.new()
SSLContext オブジェクトを生成する。ssl_method で TLS/SSL method を指定する。ssl_method は文字列かシンボル。指定できるのは以下のいずれか。SSL_CTX_new 参照。
'TLSv1', 'TLSv1_server', 'TLSv1_client', 'SSLv2', 'SSLv2_server', 'SSLv2_client', 'SSLv3', 'SSLv3_server', 'SSLv3_client', 'SSLv23', 'SSLv23_server', 'SSLv23_client'
[["EDH-RSA-DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168], ...]
(ここに証明書の説明) -----BEGIN CERTIFICATE----- ... (CA certificate in base64 encoding) ... -----END CERTIFICATE----- (ここに証明書の説明) -----BEGIN CERTIFICATE----- ... (CA certificate in base64 encoding) ... -----END CERTIFICATE-----
ca_path
ca_path=(path)
接続相手の証明書の検証のために使う、信頼している CA 証明書ファイルを含むディレクトリ。
cert
cert=
所有している証明書。 OpenSSL::X509::Certificate オブジェクト。
cert_store
cert_store=
接続相手の証明書の検証のために使う、信頼している CA 証明書のストレージ。 OpenSSL::X509::Store オブジェクト。通常は ca_path=(path) や ca_file=(path) を使う。
client_ca
client_ca=
クライアント証明書を要求する時にクライアントに送る CA のリスト。CA の Certificate オブジェクトの配列。このリストに含まれる CA ―あるはその下位の CA―に署名された証明書をクライアントは送り返すことになっている。
extra_chain_cert
extra_chain_cert=
証明書チェーン。所有している証明書からルート CA までの証明書のリスト。これを指定しない場合、ca_file や ca_path で指定した信頼されている証明書のストレージから証明書チェーンを構成しようとする。 順序は以下のとおり。
[所有している証明書, 下位 CA 証明書, ... 中間 CA 証明書]
key
key=
所有している証明書に記載されている公開鍵に対応する秘密鍵。
options
options=
オプション。定数 OP_* のビットマスクで指定する。
timeout
timeout=
タイムアウトするまでの時間。単位は秒。
verify_callback
verify_callback=
通常の証明書の検証に加えてさらに適用される Proc オブジェクト。この Proc オブジェクトは preverify_ok と ctx 二つの引数をとる。preverify_ok は true か false の値をとり、verify_mode で設定した通常の証明書の検証が成功したかどうかで決まる。ctx は SSLContext オブジェクト。この Proc オブジェクトは true か false を返す必要がある。
lambda{|preverify_ok, ctx| return true # or false }
verify_depth
verify_depth=
証明書を検証する深さ。
verify_mode
verify_mode=
検証モード。デフォルトは nil。つまり検証しない。下の定数の項を参照。定数 VERIFY_* のビットマスクで指定する。
verify_mode= と options= で指定できる定数に関しては OpenSSL::SSL を参照。