Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::SSL::SSLContextクラス
class OpenSSL::SSL::SSLContext
クラスの継承リスト: OpenSSL::SSL::SSLContext < Object < Kernel < BasicObject
Abstract
特異メソッド
new(ssl_method)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'
インスタンスメソッド
ca_fileca_file=(ca)-
接続相手の検証のために使う、信頼している CA 証明書ファイルのパスです。以下のように複数の証明書を含んでいても構いません。
(ここに証明書の説明) -----BEGIN CERTIFICATE----- ... (CA certificate in base64 encoding) ... -----END CERTIFICATE----- (ここに証明書の説明) -----BEGIN CERTIFICATE----- ... (CA certificate in base64 encoding) ... -----END CERTIFICATE-----
ca_pathca_path=(ca)-
接続相手の証明書の検証のために使う、信頼している CA 証明書ファイルを含むディレクトリです。
certcert=(certificate)-
所有している証明書です。 OpenSSL::X509::Certificate オブジェクトです。
cert_storecert_store=(store)-
接続相手の証明書の検証のために使う、信頼している CA 証明書のストレージです。 OpenSSL::X509::Store オブジェクトです。通常は ca_path=(path) や ca_file=(path) を使います。
ciphersciphers=(ciphers)-
使用可能な暗号の配列です。以下のような形式です。
[["EDH-RSA-DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168], ...]
client_caclient_ca=(ca)-
クライアント証明書を要求する時にクライアントに送る CA のリストです。CA の Certificate オブジェクトの配列です。このリストに含まれる CA ―あるはその下位の CA―に署名された証明書をクライアントは送り返すことになっています。
client_cert_cbclient_cert_cb=extra_chain_certextra_chain_cert=(certificates)-
証明書チェーンです。所有している証明書からルート CA までの証明書のリストです。これを指定しない場合、ca_file や ca_path で指定した信頼されている証明書のストレージから証明書チェーンを構成しようとします。 順序は以下の通りです。
[所有している証明書, 下位 CA 証明書, ... 中間 CA 証明書]
keykey=(key)-
所有している証明書に記載されている公開鍵に対応する秘密鍵です。
optionsoptions=(options)-
オプション。定数 OP_* のビットマスクで指定します。
session_id_contextsession_id_context=timeouttimeout=(seconds)-
タイムアウトするまでの時間です。単位は秒です。
tmp_dh_callbacktmp_dh_callback=verify_callbackverify_callback=(proc)-
通常の証明書の検証に加えてさらに適用される 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_depthverify_depth=(depth)-
証明書を検証する深さです。
verify_modeverify_mode=(mode)-
検証モードです。デフォルトは nil、つまり検証しません。定数の項を参照してください。定数 VERIFY_* のビットマスクで指定します。