種類
- インスタンスメソッド (35)
- モジュール (4)
- クラス (4)
- 特異メソッド (3)
- 定数 (2)
クラス
モジュール
-
OpenSSL
:: Buffering (1) -
OpenSSL
:: SSL (1)
キーワード
- Buffering (1)
-
SESSION
_ CACHE _ CLIENT (1) - SSL (1)
- SSLContext (1)
- SSLServer (1)
- Session (1)
- SocketForwarder (1)
-
VERIFY
_ NONE (1) - X509 (1)
- accept (2)
-
accept
_ nonblock (1) - cert (1)
- cipher (1)
-
client
_ cert _ cb= (1) - connect (1)
-
connect
_ nonblock (1) - context (1)
- hostname (1)
- hostname= (1)
- io (1)
- new (3)
-
peer
_ cert (1) -
peer
_ cert _ chain (1) - pending (1)
-
post
_ connection _ check (1) -
renegotiation
_ cb= (1) -
servername
_ cb= (1) - session (1)
- session= (1)
-
session
_ get _ cb= (1) -
session
_ id _ context= (1) -
session
_ new _ cb= (1) -
session
_ reused? (1) -
start
_ immediately= (1) - state (1)
- sync= (1)
-
sync
_ close (1) -
sync
_ close= (1) - sysclose (1)
- sysread (1)
- syswrite (1)
-
tmp
_ dh _ callback= (1) -
to
_ io (1) -
verify
_ result (1)
検索結果
先頭5件
-
OpenSSL
:: SSL :: SSLSocket (87079.0) -
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
...。
require 'socket'
require 'openssl'
include OpenSSL
soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.post_connection_check('www.example.com')
raise "verification error" if ssl.verify_result != OpenSSL::X509::V_OK
ssl.write('hoge')
p... -
OpenSSL
:: SSL :: SSLSocket . new(socket) -> OpenSSL :: SSL :: SSLSocket (42721.0) -
socket をラップして SSLSocket オブジェクトを生成します。
...TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。
context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。
@para......m socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL::SSL::SSLError オブジェクトの生成に失敗した場合に発生します... -
OpenSSL
:: SSL :: SSLSocket . new(socket , context) -> OpenSSL :: SSL :: SSLSocket (42721.0) -
socket をラップして SSLSocket オブジェクトを生成します。
...TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。
context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。
@para......m socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL::SSL::SSLError オブジェクトの生成に失敗した場合に発生します... -
OpenSSL
:: SSL :: SSLSocket # peer _ cert _ chain -> [OpenSSL :: X509 :: Certificate] | nil (42466.0) -
接続相手の証明書チェインを OpenSSL::X509::Certificate オブジェクト の配列で返します。
...接続相手の証明書チェインを OpenSSL::X509::Certificate オブジェクト
の配列で返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。
以下の順......の配列を返します。
[接続相手の証明書, 下位CAの証明書,... 中間CAの証明書]
ルート CA の証明書は含まれないことに注意してください。
@see OpenSSL::SSL::SSLSocket#peer_cert... -
OpenSSL
:: SSL :: SSLSocket # session -> OpenSSL :: SSL :: Session (42430.0) -
利用している SSL セッションを OpenSSL::SSL::Session オブジェクトで返します。
...利用している SSL セッションを OpenSSL::SSL::Session
オブジェクトで返します。
@see OpenSSL::SSL::SSLSocket#session=,
OpenSSL::SSL::SSLSocket#session_reused?... -
OpenSSL
:: SSL :: SSLSocket # peer _ cert -> OpenSSL :: X509 :: Certificate | nil (42418.0) -
接続相手の証明書オブジェクトを返します。
...接続相手の証明書オブジェクトを返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。
@see OpenSSL::SSL::SSLSocket#peer_cert_chain... -
OpenSSL
:: SSL :: SSLSocket # cert -> OpenSSL :: X509 :: Certificate | nil (42400.0) -
自分自身を証明する証明書を返します。
...身を証明する証明書を使わなかった場合は nil を返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼んだ
場合も nil を返します。
@see OpenSSL::SSL::SSLContext#cert... -
OpenSSL
:: SSL :: SSLSocket # context -> OpenSSL :: SSL :: SSLContext (42394.0) -
SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。
...SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。
@see OpenSSL::SSL::SSLSocket.new... -
OpenSSL
:: SSL :: SSLSocket # session=(sess) (42151.0) -
ハンドシェイクで再利用する SSL セッションを 設定します。
...。
セッションを再利用する場合は、
OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでセッションオブジェクト
(OpenSSL::SSL::Session のインスタンス)
を設定します。
サーバ側の場合 OpenSSL::SSL::SSLContext がキャッシュの保持と......管理を行います。
@param sess 設定するセッション
@see OpenSSL::SSL::SSLSocket#session,
OpenSSL::SSL::SSLSocket#session_reused?... -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (42133.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
...イクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::SSL::SSLError をこのモジュ......ールで extend した
例外オブジェクトが生成されます)
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き込み可能状態になるのを
待つ必要がある場合に発生します。
読み込み可能状態を待つ必要がある場合には......IO::WaitReadable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#connect_nonblock,
OpenSSL::SSL::SSLSocket#accept... -
OpenSSL
:: SSL :: SSLSocket # hostname=(hostname) (42133.0) -
TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。
...のため、
クライアント側が OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでホスト名を指定する必要があります。
hostname に nil を渡すと SNI 拡張を利用しません。
サーバ側については OpenSSL::SSL::SSLContext#servername_cb= を......参照してください。
@param hostname ホスト名文字列
@see OpenSSL::SSL::SSLSocket#hostname,
OpenSSL::SSL::SSLContext#servername_cb,
OpenSSL::SSL::SSLContext#servername_cb=... -
OpenSSL
:: SSL :: SSLSocket # post _ connection _ check(hostname) -> true (42133.0) -
接続後検証を行います。
...います。
検証に成功した場合は true を返し、失敗した場合は例外
OpenSSL::SSL::SSLError を発生させます。
OpenSSL の API では、
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
での検証は実用的には不完全です。
CA が証明書......証明書に記載されている FQDN が
一致しているかどうかを調べます。このメソッドはその FQDN のチェックを行ないます。
@param hostname チェックする FQDN の文字列
@raise OpenSSL::SSL::SSLError チェックに失敗した場合に発生します... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (42115.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
...シェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::SSLError ソケットが読み込......る場合には IO::WaitReadable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#accept_nonblock,
OpenSSL::SSL::SSLSocket#connect... -
OpenSSL
:: SSL :: SSLSocket # accept -> self (42097.0) -
TLS/SSL 通信をサーバモードとして開始し、クライアントからの ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。
...行します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#connect,
OpenSSL::SSL::SSLSocket#accep... -
OpenSSL
:: SSL :: SSLSocket # connect -> self (42097.0) -
TLS/SSl 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
...します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#accept,
OpenSSL::SSL::SSLSocket#connect_... -
OpenSSL
:: SSL :: SSLSocket # session _ reused? -> bool (42097.0) -
利用している SSL セッションが再利用されたものである 場合に真を返します。
...利用している SSL セッションが再利用されたものである
場合に真を返します。
@see OpenSSL::SSL::Session,
OpenSSL::SSL::SSLSocket#session,
OpenSSL::SSL::SSLSocket#session=... -
OpenSSL
:: SSL :: SSLSocket # io -> IO (42091.0) -
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
...SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
@see OpenSSL::SSL::SSLSocket.new... -
OpenSSL
:: SSL :: SSLSocket # to _ io -> IO (42091.0) -
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
...SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
@see OpenSSL::SSL::SSLSocket.new... -
OpenSSL
:: SSL :: SSLSocket # cipher -> [String , String , Integer , Integer] (42079.0) -
現在実際に使われている暗号の情報を配列で返します。
...ージョン, 鍵長, アルゴリズムで使われる bit 数] となります。
["DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168]
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。... -
OpenSSL
:: SSL :: SSLSocket # hostname -> String | nil (42079.0) -
TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。
...TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。
OpenSSL::SSL::SSLSocket#hostname= で設定した値がそのまま返されます。
設定していない場合は nil を返します。
@see OpenSSL::SSL::SSLSocket#hostname=... -
OpenSSL
:: SSL :: SSLSocket # sysclose -> nil (42079.0) -
接続を閉じます。相手に'close notify'を送ります。
...y'を送ります。
このメソッドは openssl ライブラリ内で管理しているバッファを
フラッシュせずに接続を閉じます。そのため、通常は
これではなく OpenSSL::Buffering#close を呼ぶべきです。
OpenSSL::SSL::SSLSocket#sync_close が真である... -
OpenSSL
:: SSL :: SSLSocket # verify _ result -> Integer (42061.0) -
検証結果のエラーコードを整数値で返します。
...検証結果のエラーコードを整数値で返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。... -
OpenSSL
:: SSL :: SSLSocket # pending -> Integer | nil (42055.0) -
OpenSSL内部のバッファが保持している、直ちに読み取り可能な データのバイト数を返します。
...OpenSSL内部のバッファが保持している、直ちに読み取り可能な
データのバイト数を返します。
ハンドシェイク開始前には nil を返します。... -
OpenSSL
:: SSL :: SSLSocket # sync _ close -> bool (42055.0) -
SSLSocket を close するときにラップしているソケットも close するかどうかを 返します。
SSLSocket を close するときにラップしているソケットも close するかどうかを
返します。
true でソケットも close します。 -
OpenSSL
:: SSL :: SSLSocket # sync _ close=(bool) (42055.0) -
SSLSocket を close するときにラップしているソケットも close するかどうかを 設定します。
SSLSocket を close するときにラップしているソケットも close するかどうかを
設定します。
true でソケットも close するようになります。
@param bool 設定する真偽値 -
OpenSSL
:: SSL :: SSLSocket # sysread(length , buf=nil) -> String (42043.0) -
データをバッファを経由せずに暗号化通信路から読み込み、 読み込んだデータを文字列で返します。
...に暗号化通信路から読み込み、
読み込んだデータを文字列で返します。
基本的にはこのメソッドは使わず、OpenSSL::Buffering の
メソッドを使ってデータを読み込むべきです。
length で読み込むバイト数を指定します。
bufに......ます。
IO#sysread と同様です。
@param length 読み込むバイト数を指定します
@param buf データを書き込むバッファ
@raise EOFError 入力が終端に逹した場合に発生します
@raise OpenSSL::SSL::SSLError 読み込みに失敗した場合に発生します... -
OpenSSL
:: SSL :: SSLSocket # syswrite(string) -> Integer (42043.0) -
データをバッファを経由せずに暗号化通信路に書き込みます。
...ます。
基本的にはこのメソッドは使わず、OpenSSL::Buffering の
メソッドを使ってデータを書き込むべきです。
IO#syswrite と同様です。
@param string 書き込むデータ文字列
@raise OpenSSL::SSL::SSLError 書き込みに失敗した場合に発生し... -
OpenSSL
:: SSL :: SSLSocket # state -> String (42007.0) -
現在の状態をアルファベット 6 文字の文字列で返します。
現在の状態をアルファベット 6 文字の文字列で返します。 -
OpenSSL
:: SSL :: SSLServer # accept -> OpenSSL :: SSL :: SSLSocket (33715.0) -
クライアントからの接続を受け付け、接続した SSLSocket オブジェクトを返します。
...クライアントからの接続を受け付け、接続した
SSLSocket オブジェクトを返します。
OpenSSL::SSL::SSLServer#start_immediately が真ならば、
SSLSocket#accept を呼び TLS/SSL ハンドシェイクを実行してから
SSLSocket オブジェクトを返します。... -
OpenSSL
:: X509 (33703.0) -
OpenSSL の X509 証明書、CRL(証明書失効リスト)、 CSR(証明書署名要求)、証明書ストアなどに関するモジュールです。
...OpenSSL の X509 証明書、CRL(証明書失効リスト)、
CSR(証明書署名要求)、証明書ストアなどに関するモジュールです。
===[a:verify_error] 検証時エラー定数
以下の定数は OpenSSL::X509::Store#error,
OpenSSL::X509::StoreContext#error,
OpenSSL::SSL::SSLSo......* OpenSSL::X509::V_OK
* OpenSSL::X509::V_ERR_AKID_SKID_MISMATCH
* OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION
* OpenSSL::X509::V_ERR_CERT_CHAIN_TOO_LONG
* OpenSSL::X509::V_ERR_CERT_HAS_EXPIRED
* OpenSSL::X509::V_ERR_CERT_NOT_YET_VALID
* OpenSSL::X509::V_ERR_CERT_REJECTED
* OpenSSL::......EVOKED
* OpenSSL::X509::V_ERR_CERT_SIGNATURE_FAILURE
* OpenSSL::X509::V_ERR_CERT_UNTRUSTED
* OpenSSL::X509::V_ERR_CRL_HAS_EXPIRED
* OpenSSL::X509::V_ERR_CRL_NOT_YET_VALID
* OpenSSL::X509::V_ERR_CRL_SIGNATURE_FAILURE
* OpenSSL::X509::V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT
* OpenSSL::X509::V_... -
OpenSSL
:: SSL :: Session . new(obj) -> OpenSSL :: SSL :: Session (33400.0) -
新しいセッションオブジェクトを生成します。
...新しいセッションオブジェクトを生成します。
引数に OpenSSL::SSL::SSLSocket が渡された場合は、
それに結び付けられたセッションを表すオブジェクトを返します。
OpenSSL::SSL::SSLSocket#session と同じ動作をします。
引数が文字列......PEM 形式もしくは DER 形式とみなしてセッションオブジェクトを生成します。
@param obj セッションオブジェクトの生成元オブジェクト
@raise OpenSSL::SSL::Session::SessionError オブジェクトの生成に
失敗した場合に発生します... -
OpenSSL
:: SSL :: Session (33277.0) -
SSL/TLS セッションを表すクラスです。
...側では OpenSSL はキャッシュの保持、管理のための
機能を提供していません。コネクション確立後に
OpenSSL::SSL::SSLSocket#session でセッションを取り出し、
次の OpenSSL::SSL::SSLSocket#connect によるハンドシェイク
前に OpenSSL::SSL::SSLSoc......ャッシュ
サーバ側では OpenSSL::SSL::SSLContext により
セッションキャッシュの保持および管理が行われます。
OpenSSL::SSL::SSLContext#session_cache_mode= で
キャッシュの挙動を設定します。
デフォルトで OpenSSL::SSL::SSLContext::SESSION_CACHE_SE......有効になっています。
セッションキャッシュ機構が有効化されている場合、
SSL/TLS ハンドシェイク終了時に OpenSSL::SSL::SSLContext 内の
キャッシュ保持領域にキャッシュが保持されます。
クライアント側からセッション再利用... -
OpenSSL
:: SSL :: SSLContext # client _ cert _ cb=(cb) (33253.0) -
OpenSSL::SSL::SSLContext#cert= でクライアント証明書を セットしていなかった場合にサーバからクライアント証明書の要求が来たときに 呼びだされるコールバックオブジェクトを設定します。
...OpenSSL::SSL::SSLContext#cert= でクライアント証明書を
セットしていなかった場合にサーバからクライアント証明書の要求が来たときに
呼びだされるコールバックオブジェクトを設定します。
コールバックに渡される引数は以下......している OpenSSL::SSL::SSLSocket
オブジェクトが渡されます。そのオブジェクトから必要な証明書を見つけるのに
必要な情報を取得します。
コールバックはクライアント証明書(OpenSSL::X509::Certificate)
とその秘密鍵(OpenSSL::PKey::PKey)......のコールバック内で例外が発生すると、適当な証明書が見付からなかったと
判断されます。このとき例外は OpenSSL のライブラリによって握り潰されて
しまいます。
デフォルトは nil で、コールバックなしを意味します。こ... -
OpenSSL
:: SSL (33199.0) -
* OpenSSL::SSL::SSLContext * OpenSSL::SSL::SSLServer * OpenSSL::SSL::SSLSocket
...* OpenSSL::SSL::SSLContext
* OpenSSL::SSL::SSLServer
* OpenSSL::SSL::SSLSocket... -
OpenSSL
:: Buffering (33175.0) -
OpenSSL::SSL::SSLSocket にバッファリング付きIO機能を提供する モジュールです。
...OpenSSL::SSL::SSLSocket にバッファリング付きIO機能を提供する
モジュールです。
IO クラスと同様のメソッドを提供しています。
内部的には sysread, syswrite, sysread_nonblock, syswrite_nonblock,
sysclose といった OpenSSL::SSL::SSLSocket が提供......するメソッドを
利用し、 OpenSSL::SSL::SSLSocket がラップしているソケット
をバッファ経由でデータを暗号化してやりとりを行います。
=== IO との違い
このクラスは IO クラスと同様のメソッドを提供していますが、
以下の点で... -
OpenSSL
:: SSL :: SSLContext # servername _ cb=(pr) (33133.0) -
TLS の Server Name Indication(SNI) 拡張で クライアント側からホスト名が伝えられてきた場合に 呼びだされるコールバックを設定します。
...証および暗号化通信に使われる OpenSSL::SSL::SSLSocket
オブジェクトで、2つ目がクライアント側から伝えられてきたホスト名です。
コールバックの返り値には認証と暗号化の設定を含んだ
OpenSSL::SSL::SSLContext オブジェクト、も......る証明書などの各情報を用いてハンドシェイクを継続します。
コールバックが nil を返した場合には sslsocket が用いるコンテキストは
変更されません。
@param pr コールバックオブジェクト
@see OpenSSL::SSL::SSLContext#servername_cb... -
OpenSSL
:: SSL :: SSLContext # tmp _ dh _ callback=(cb) (33133.0) -
一時的 DH 鍵を生成するためのコールバックを設定します。
...ket 通信に使われる OpenSSL::SSL::SSLSocket オブジェクト
* is_export 輸出規制のある暗号を利用するかどうかを0か0以外かで指定
* keylen 鍵長
となります。ブロックの返り値には適切な鍵パラメータを含む
OpenSSL::PKey::DH オブジェ......クトを返します。鍵パラメータは
keylen で指定された鍵長に対応したものでなければなりません。
OpenSSL::PKey::DH は DH パラメータと DH 鍵対を
保持していますが、これで返されるオブジェクトはパラメータしか
用いられませ......ん。
cb に nil を指定するとデフォルトのパラメータが利用されます。
デフォルト値は nil です。
@param cb 設定するコールバック
@see OpenSSL::SSL::SSLContext#tmp_dh_callback... -
OpenSSL
:: SSL :: SSLServer # start _ immediately=(bool) (33127.0) -
OpenSSL::SSL::SSLServer#accept で accept したらすぐに TLS/SSL ハンドシェイクを実行するかどうかを設定します。
...OpenSSL::SSL::SSLServer#accept で
accept したらすぐに TLS/SSL ハンドシェイクを実行するかどうかを設定します。
これを真に設定した場合は、OpenSSL::SSL::SSLServer#accept で
接続したソケットに対し OpenSSL::SSL::SSLSocket#accept を
呼び、ハン......ドシェイクを実行します。
デフォルトでは true です。
@param bool 設定する真偽値。
@see OpenSSL::SSL::SSLServer#start_immediately... -
OpenSSL
:: Buffering # sync=(sync) (33115.0) -
出力の同期モードを設定します。
...ードを設定します。
true に設定すると同期モードになり、
OpenSSL::Buffering#write_nonblock と
OpenSSL::SSL::SSLSocket#syswrite を除くすべての書き込み
(OpenSSL::Buffering#write, OpenSSL::Buffering#print など)
はバッファリングされずに出力されます......。
false に設定すると書き込みはバッファリングされます。
@param sync 設定するモード(真偽値)
@see OpenSSL::Buffering#sync... -
OpenSSL
:: SSL :: SSLContext # session _ id _ context=(id _ context) (33115.0) -
セッション ID コンテキストを文字列で設定します。
...ン ID の両方が
一致する場合に同一のセッションであると判別されます。
この OpenSSL::SSL::SSLContext オブジェクトで
生成されたコネクション(OpenSSL::SSL::SSLSocket)に
関連付けられたセッションはセッション ID コンテキスト
を共......注意してください。
クライアント側では意味を持ちません。
@param id_context セッション ID コンテキスト文字列(最大32バイト)
@see OpenSSL::SSL::Session,
OpenSSL::SSL::SSLContext#session_id_context,
OpenSSL::SSL::SSLContext#session_cache_mode=... -
OpenSSL
:: SSL :: SSLContext # session _ get _ cb=(cb) (33097.0) -
セッションキャッシュを探索し、内部のキャッシュテーブルには 見付からなかった場合に呼び出されるコールバックを設定します。
...クオブジェクトを call するときの引数は
[ 接続オブジェクト(OpenSSL::SSL::SSLSocket), セッションID(文字列) ]
という配列です。このコールバックの返り値が
OpenSSL::SSL::Session オブジェクトならば、
それをキャッシュ値として利用......ッシュは見つからなかったものとして取り扱われます。
セッションキャッシュについて詳しくは OpenSSL::SSL::Session を
見てください。
@param cb コールバックオブジェクト(Proc もしくは Method)
@see OpenSSL::SSL::SSLContext#session_get_cb... -
OpenSSL
:: SSL :: SSLContext # session _ new _ cb=(cb) (33097.0) -
新たなセッションが作られたときに呼び出されるコールバックを 指定します。
...ト(OpenSSL::SSL::SSLSocket), 新たなセッション(OpenSSL::SSL::Session)]
という配列です。
セッションキャッシュについて詳しくは OpenSSL::SSL::Session を
見てください。
@param cb コールバックオブジェクト(Proc もしくは Method)
@see OpenSSL::SSL:... -
OpenSSL
:: SSL :: VERIFY _ NONE -> Integer (33091.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
...OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: クライアントに証明書を要求せず、クライアントは証明書を
送......トモード: サーバから受け取った証明書は検証されますが、失敗しても
ハンドシェイクは継続します。
ハンドシェイクの結果は OpenSSL::SSL::SSLSocket#verify_result で
取得できます。
このフラグは単独で用いられるべきです。... -
OpenSSL
:: SSL :: SSLContext (33079.0) -
SSL コンテキストクラス。
...SSL コンテキストクラス。
SSL コネクション(OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer)
オブジェクトを生成するためのファクトリクラスです。
コネクションを生成するために必要なパラメータ(プロトコルのバージョン、
証明......はなく、
この後もセッション管理機能によってオブジェクトのキャッシュ領域に
セッションを追加したり削除したりできます。
=== Constants
verify_mode= と options= で指定できる定数に関しては OpenSSL::SSL を参照してください。... -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ CLIENT -> Integer (33079.0) -
クライアント側セッションをキャッシュに追加することを意味します。
...ます。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。
クライアント側においては、OpenSSL ライブラリがどのセッションを
再利用するべきか確実に判定する方法はないので、再利用する場合は
OpenSSL::SSL::S... -
OpenSSL
:: SSL :: SSLServer (33079.0) -
SSL サーバーのためのクラス。
...SSL サーバーのためのクラス。
TCPServer をラップするクラスで、TCPServer で接続した
ソケットを OpenSSL::SSL::SSLSocket でラップする機能を持ちます。
おおよそ TCPServer と同様のメソッドを持ちます。
基本的には SSL サーバを簡単......。
以下はクライアントからの入力を標準出力に出力するだけのサーバです。
require 'socket'
require 'openssl'
include OpenSSL
ctx = SSL::SSLContext.new()
ctx.cert = X509::Certificate.new(File.read('cert.pem'))
ctx.key = PKey::RSA.new(File.read('privke... -
OpenSSL
:: SSL :: SSLContext # renegotiation _ cb=(cb) (33061.0) -
@todo
...@todo
ハンドシェイク開始時に呼び出されるコールバックを設定します。
コールバックには OpenSSL::SSL::SSLSocket オブジェクトが
渡されます。
このコールバック内で何らかの例外が生じた場合には
以降のSSLの処理を停止しま......す。
num_handshakes = 0
ctx.renegotiation_cb = lambda do |ssl|
num_handshakes += 1
raise RuntimeError.new("Client renegotiation disabled") if num_handshakes > 1
end
@param cb コールバック(Proc, Method など)もしくは nil
@see OpenSSL::SSL::SSLContext#renegotiation_cb... -
OpenSSL
:: SSL :: SocketForwarder (33061.0) -
to_io で返されるソケットオブジェクトにメソッドを フォワードするモジュールです。
...to_io で返されるソケットオブジェクトにメソッドを
フォワードするモジュールです。
OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer と
いったソケットの SSL ラッパクラスにソケット関連のメソッドを定義するため
に使われます。...