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

class OpenSSL::SSL::SSLContext

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

要約

SSL コンテキストクラス。

SSL コネクション(OpenSSL::SSL::SSLSocketOpenSSL::SSL::SSLServer) オブジェクトを生成するためのファクトリクラスです。コネクションを生成するために必要なパラメータ(プロトコルのバージョン、証明書の情報、認証の要件など)を保持します。

コネクションを1度生成して以降は、コンテキストが保持しているパラメータを変更できません。一部のパラメータが共有されるため、安全性のため Object#freeze によってオブジェクトを変更不可能にします。ただしこの凍結は完全ではなく、この後もセッション管理機能によってオブジェクトのキャッシュ領域にセッションを追加したり削除したりできます。

Constants

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

特異メソッド

定義 説明
new(ssl_method) -> OpenSSL::SSL::SSLContext
new -> OpenSSL::SSL::SSLContext

SSL コンテキストオブジェクトを生成します。

インスタンスメソッド

定義 説明
ca_file -> String | nil

接続相手の検証のために使う、信頼している CA 証明書ファイルのパスを返します。

ca_file=(ca)

接続相手の検証のために使う、信頼している CA 証明書ファイルのパスを設定します。

ca_path -> String | nil

信頼している CA 証明書ファイルを含むディレクトリを返します。

ca_path=(ca)

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

cert -> OpenSSL::X509::Certificate

自分自身を証明するための証明書を返します。

cert=(certificate)

自分自身を証明するための証明書を設定します。

cert_store -> OpenSSL::X509::Store | nil

接続相手の証明書の検証のために使う、信頼している CA 証明書を含む証明書ストアを返します。

cert_store=(store)

接続相手の証明書の検証のために使う、信頼している CA 証明書を含む証明書ストアを設定します。

ciphers -> [[String, String, Integer, Integer]]

利用可能な共通鍵暗号の種類を配列で返します。

ciphers=(ciphers)

利用可能な共通鍵暗号を設定します。

client_ca -> [OpenSSL::X509::Certificate] | OpenSSL::X509::Certificate | nil

クライアント証明書を要求する時にクライアントに送る CA のリストを返します。

client_ca=(ca)

クライアント証明書を要求する時にクライアントに送る CA 証明書のリストを設定します。

client_cert_cb -> Proc | nil

OpenSSL::SSL::SSLContext#cert= でクライアント証明書をセットしていなかった場合にサーバからクライアント証明書の要求が来たときに呼びだされるコールバックオブジェクトを返します。

client_cert_cb=(cb)

OpenSSL::SSL::SSLContext#cert= でクライアント証明書をセットしていなかった場合にサーバからクライアント証明書の要求が来たときに呼びだされるコールバックオブジェクトを設定します。

extra_chain_cert -> [OpenSSL::X509::Certificate] | nil

自分自身を証明する証明書からルート CA までの証明書のリストです。

extra_chain_cert=(certificates)

自分自身を証明する証明書からルート CA までの証明書のリストを配列で設定します。

flush_sessions(time=nil) -> self

自身が保持しているセッションキャッシュを破棄します。

key -> OpenSSL::PKey::PKey | nil

OpenSSL::SSL::SSLContext#cert で得られる自分自身を証明するための証明書の公開鍵に対応する秘密鍵を返します。

key=(key)

OpenSSL::SSL::SSLContext#cert= で設定された自分自身を証明するための証明書の公開鍵に対応する秘密鍵を設定します。

options -> Integer | nil

設定されているオプションフラグを返します。

options=(options)

オプションを設定します。

renegotiation_cb -> nil | Proc

ハンドシェイク開始時に呼び出されるコールバックを得ます。

renegotiation_cb=(cb)

@todo

servername_cb -> Proc | nil

TLS の Server Name Indication(SNI) 拡張でクライアント側からホスト名が伝えられてきた場合に呼びだされるコールバックを返します。

servername_cb=(pr)

TLS の Server Name Indication(SNI) 拡張でクライアント側からホスト名が伝えられてきた場合に呼びだされるコールバックを設定します。

session_add(sess) -> bool

セッションを OpenSSL::SSL::SSLContext 内部のキャッシュ領域に追加します。

session_cache_mode -> Integer

セッションキャッシュのモードを返します。

session_cache_mode=(mode)

セッションキャッシュのモードを指定します。

session_cache_size -> Integer

自身が保持可能なセッションキャッシュのサイズを返します。

session_cache_size=(size)

自身が保持可能なセッションキャッシュのサイズを指定します。

session_cache_stats -> {Symbol -> Integer}

セッションキャッシュの内部統計情報をハッシュテーブルで返します。

session_get_cb -> Proc | nil

セッションキャッシュを探索し、内部のキャッシュテーブルには見付からなかった場合に呼び出されるコールバックを返します。

session_get_cb=(cb)

セッションキャッシュを探索し、内部のキャッシュテーブルには見付からなかった場合に呼び出されるコールバックを設定します。

session_id_context -> String | nil

セッション ID コンテキスト文字列を返します。

session_id_context=(id_context)

セッション ID コンテキストを文字列で設定します。

session_new_cb -> Proc | nil

セッションが生成されたときに呼び出されるコールバックを返します。

session_new_cb=(cb)

新たなセッションが作られたときに呼び出されるコールバックを指定します。

session_remove(sess) -> bool

セッションを OpenSSL::SSL::SSLContext 内部のキャッシュ領域から取り除きます。

session_remove_cb -> Proc | nil

セッションが内部キャッシュから破棄されたときに呼び出されるコールバックを返します。

session_remove_cb=(cb)

セッションが内部キャッシュから破棄されたときに呼び出されるコールバックを設定します。

set_params(params) -> Hash

パラメータをハッシュで設定します。

timeout -> Integer | nil
ssl_timeout -> Integer | nil

このコンテキストから生成するセッションのタイムアウト秒数を返します。

timeout=(seconds)
ssl_timeout=(seconds)

このコンテキストから生成するセッションのタイムアウト秒数を設定します。

ssl_version=(ver)

利用するプロトコルの種類を文字列もしくはシンボルで指定します。

tmp_dh_callback -> Proc | nil

一時的 DH 鍵を生成するためのコールバックを返します。

tmp_dh_callback=(cb)

一時的 DH 鍵を生成するためのコールバックを設定します。

verify_callback -> Proc | nil

オブジェクトに設定されている検証をフィルタするコールバックを返します。

verify_callback=(proc)

検証をフィルタするコールバックを設定します。

verify_depth -> Integer | nil

証明書チェイン上の検証する最大の深さを返します。

verify_depth=(depth)

証明書チェイン上の検証する最大の深さを設定します。

verify_mode -> Integer | nil

検証モードを返します。

verify_mode=(mode)

検証モードを設定します。

定数

定義 説明
DEFAULT_CERT_STORE -> OpenSSL::X509::Store

OpenSSL::SSL::SSLContext#set_params で信頼する CA 証明書 (ca_file, ca_path, cert_store) を一切指定しなかった場合にデフォルトで使われる証明書ストアです。

DEFAULT_PARAMS -> { Symbol -> object }

OpenSSL::SSL::SSLContext#set_params でデフォルト値として使われるパラメータです。

METHODS -> [Symbol]

利用可能なメソッド(プロトコル)を Symbol の配列で返します。

SESSION_CACHE_BOTH -> Integer

サーバ側、クライアント側両方でセッションをキャッシュすることを意味します。

SESSION_CACHE_CLIENT -> Integer

クライアント側セッションをキャッシュに追加することを意味します。

SESSION_CACHE_NO_AUTO_CLEAR -> Integer

OpenSSL::SSL::SSLContext 内部のセッションキャッシュ領域を自動的にクリアしないことを意味します。

SESSION_CACHE_NO_INTERNAL -> Integer

OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_STOREOpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_LOOKUP の両方を有効にすることを意味します。

SESSION_CACHE_NO_INTERNAL_LOOKUP -> Integer

サーバ側でセッションキャッシュが必要になった場合 OpenSSL::SSL::SSLContext が保持するキャッシュ領域を探索しないことを意味します。

SESSION_CACHE_NO_INTERNAL_STORE -> Integer

セッションキャッシュを OpenSSL::SSL::SSLContext 内部のキャッシュ領域に保持しないことを意味します。

SESSION_CACHE_OFF -> Integer

セッションをキャッシュしないことを意味します。

SESSION_CACHE_SERVER -> Integer

サーバ側でセッションをキャッシュすることを意味します。

継承したメソッド

! != __id__ instance_eval instance_exec singleton_method_added singleton_method_removed singleton_method_undefined !~ <=> == === =~ __send__ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method method_missing methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_s to_str trust untaint untrust untrusted? .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE