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

class OpenSSL::SSL::SSLContext

クラスの継承リスト: OpenSSL::SSL::SSLContext < Object < Kernel < BasicObject

Abstract

SSL コンテクストクラス

Constants

verify_mode= と options= で指定できる定数に関しては OpenSSL::SSL を参照してください。

特異メソッド

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_file
ca_file=(ca)

接続相手の検証のために使う、信頼している CA 証明書ファイルのパスです。以下のように複数の証明書を含んでいても構いません。

(ここに証明書の説明)

-----BEGIN CERTIFICATE-----
... (CA certificate in base64 encoding) ...
-----END CERTIFICATE-----

(ここに証明書の説明)

-----BEGIN CERTIFICATE-----
... (CA certificate in base64 encoding) ...
-----END CERTIFICATE-----
ca_path
ca_path=(ca)

接続相手の証明書の検証のために使う、信頼している CA 証明書ファイルを含むディレクトリです。

cert
cert=(certificate)

所有している証明書です。 OpenSSL::X509::Certificate オブジェクトです。

cert_store
cert_store=(store)

接続相手の証明書の検証のために使う、信頼している CA 証明書のストレージです。 OpenSSL::X509::Store オブジェクトです。通常は ca_path=(path) や ca_file=(path) を使います。

ciphers
ciphers=(ciphers)

使用可能な暗号の配列です。以下のような形式です。

[["EDH-RSA-DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168], ...]
client_ca
client_ca=(ca)

クライアント証明書を要求する時にクライアントに送る CA のリストです。CA の Certificate オブジェクトの配列です。このリストに含まれる CA ―あるはその下位の CA―に署名された証明書をクライアントは送り返すことになっています。

client_cert_cb
client_cert_cb=
extra_chain_cert
extra_chain_cert=(certificates)

証明書チェーンです。所有している証明書からルート CA までの証明書のリストです。これを指定しない場合、ca_file や ca_path で指定した信頼されている証明書のストレージから証明書チェーンを構成しようとします。 順序は以下の通りです。

[所有している証明書, 下位 CA 証明書, ... 中間 CA 証明書]
key
key=(key)

所有している証明書に記載されている公開鍵に対応する秘密鍵です。

options
options=(options)

オプション。定数 OP_* のビットマスクで指定します。

session_id_context
session_id_context=
timeout
timeout=(seconds)

タイムアウトするまでの時間です。単位は秒です。

tmp_dh_callback
tmp_dh_callback=
verify_callback
verify_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_depth
verify_depth=(depth)

証明書を検証する深さです。

verify_mode
verify_mode=(mode)

検証モードです。デフォルトは nil、つまり検証しません。定数の項を参照してください。定数 VERIFY_* のビットマスクで指定します。

Methods

Classes