ライブラリ
-
net
/ http (21) -
net
/ imap (4) -
net
/ pop (5) -
net
/ smtp (5) - open-uri (2)
- openssl (165)
-
webrick
/ https (1) -
webrick
/ ssl (3)
クラス
-
Net
:: HTTP (21) -
Net
:: IMAP (4) -
Net
:: POP3 (5) -
Net
:: SMTP (5) -
OpenSSL
:: SSL :: SSLContext (67) -
OpenSSL
:: SSL :: SSLServer (8) -
OpenSSL
:: SSL :: SSLSocket (27) -
OpenSSL
:: SSL :: Session (10) -
WEBrick
:: GenericServer (2) -
WEBrick
:: HTTPRequest (1)
モジュール
-
OpenSSL
:: Buffering (3) -
OpenSSL
:: SSL (32) -
OpenSSL
:: SSL :: SocketForwarder (7) -
OpenSSL
:: X509 (1) - OpenURI (2)
-
WEBrick
:: Config (1)
キーワード
- == (1)
- Buffering (1)
-
DEFAULT
_ CERT _ STORE (1) -
DEFAULT
_ PARAMS (1) - METHODS (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 3 . 0 (1) -
OP
_ ALL (1) -
OP
_ CIPHER _ SERVER _ PREFERENCE (1) -
OP
_ DONT _ INSERT _ EMPTY _ FRAGMENTS (1) -
OP
_ EPHEMERAL _ RSA (1) -
OP
_ MICROSOFT _ BIG _ SSLV3 _ BUFFER (1) -
OP
_ MICROSOFT _ SESS _ ID _ BUG (1) -
OP
_ MSIE _ SSLV2 _ RSA _ PADDING (1) -
OP
_ NETSCAPE _ CA _ DN _ BUG (1) -
OP
_ NETSCAPE _ CHALLENGE _ BUG (1) -
OP
_ NETSCAPE _ DEMO _ CIPHER _ CHANGE _ BUG (1) -
OP
_ NETSCAPE _ REUSE _ CIPHER _ CHANGE _ BUG (1) -
OP
_ NO _ COMPRESSION (1) -
OP
_ NO _ SESSION _ RESUMPTION _ ON _ RENEGOTIATION (1) -
OP
_ NO _ SSLv2 (1) -
OP
_ NO _ SSLv3 (1) -
OP
_ NO _ TICKET (1) -
OP
_ NO _ TLSv1 (1) -
OP
_ NO _ TLSv1 _ 1 (1) -
OP
_ NO _ TLSv1 _ 2 (1) -
OP
_ PKCS1 _ CHECK _ 1 (1) -
OP
_ PKCS1 _ CHECK _ 2 (1) -
OP
_ SINGLE _ DH _ USE (1) -
OP
_ SINGLE _ ECDH _ USE (1) -
OP
_ SSLEAY _ 080 _ CLIENT _ DH _ BUG (1) -
OP
_ SSLREF2 _ REUSE _ CERT _ TYPE _ BUG (1) -
OP
_ TLS _ BLOCK _ PADDING _ BUG (1) -
OP
_ TLS _ D5 _ BUG (1) -
OP
_ TLS _ ROLLBACK _ BUG (1) -
SESSION
_ CACHE _ BOTH (1) -
SESSION
_ CACHE _ CLIENT (1) -
SESSION
_ CACHE _ NO _ AUTO _ CLEAR (1) -
SESSION
_ CACHE _ NO _ INTERNAL (1) -
SESSION
_ CACHE _ NO _ INTERNAL _ LOOKUP (1) -
SESSION
_ CACHE _ NO _ INTERNAL _ STORE (1) -
SESSION
_ CACHE _ OFF (1) -
SESSION
_ CACHE _ SERVER (1) - SSL (2)
- SSLContext (1)
- SSLError (1)
- SSLServer (1)
- SSLSocket (1)
- Session (1)
- SessionError (1)
- SocketForwarder (1)
-
VERIFY
_ CLIENT _ ONCE (1) -
VERIFY
_ FAIL _ IF _ NO _ PEER _ CERT (1) -
VERIFY
_ NONE (1) -
VERIFY
_ PEER (1) -
V
_ ERR _ CERT _ CHAIN _ TOO _ LONG (1) - X509 (1)
- accept (2)
-
accept
_ nonblock (1) - addr (1)
-
ca
_ file (2) -
ca
_ file= (2) -
ca
_ path (2) -
ca
_ path= (2) - cert (3)
- cert= (2)
-
cert
_ store (2) -
cert
_ store= (2) - certs (1)
- cipher (2)
- ciphers (2)
- ciphers= (2)
-
client
_ ca (1) -
client
_ ca= (1) -
client
_ cert _ cb (1) -
client
_ cert _ cb= (1) - close (1)
- closed? (1)
- connect (1)
-
connect
_ nonblock (1) - context (1)
-
default
_ ssl _ context (1) -
do
_ not _ reverse _ lookup= (1) -
drb
/ ssl (1) -
enable
_ ssl (3) -
enable
_ starttls (1) -
enable
_ starttls _ auto (1) -
enable
_ tls (1) -
extra
_ chain _ cert (1) -
extra
_ chain _ cert= (1) - fcntl (1)
-
flush
_ sessions (1) - getsockopt (1)
- hostname (1)
- hostname= (1)
- id (1)
- io (1)
- key (2)
- key= (2)
- listen (1)
- new (9)
-
open
_ uri (2) -
peer
_ cert (2) -
peer
_ cert _ chain (1) - peeraddr (1)
- pending (1)
-
post
_ connection _ check (1) -
read
_ nonblock (1) -
renegotiation
_ cb (1) -
renegotiation
_ cb= (1) -
ruby 1
. 8 . 2 feature (1) -
ruby 1
. 8 . 3 feature (1) -
servername
_ cb (1) -
servername
_ cb= (1) - session (1)
- session= (1)
-
session
_ add (1) -
session
_ cache _ mode (1) -
session
_ cache _ mode= (1) -
session
_ cache _ size (1) -
session
_ cache _ size= (1) -
session
_ cache _ stats (1) -
session
_ get _ cb (1) -
session
_ get _ cb= (1) -
session
_ id _ context (1) -
session
_ id _ context= (1) -
session
_ new _ cb (1) -
session
_ new _ cb= (1) -
session
_ remove (1) -
session
_ remove _ cb (1) -
session
_ remove _ cb= (1) -
session
_ reused? (1) -
set
_ params (1) - setsockopt (1)
- shutdown (1)
-
ssl
_ context (1) -
ssl
_ params (1) -
ssl
_ timeout (2) -
ssl
_ timeout= (2) -
ssl
_ version= (2) -
start
_ immediately (1) -
start
_ immediately= (1) - starttls (2)
- state (1)
- sync= (1)
-
sync
_ close (1) -
sync
_ close= (1) - sysclose (1)
- sysread (1)
- syswrite (1)
- time (1)
- time= (1)
- timeout (2)
- timeout= (2)
-
tmp
_ dh _ callback (1) -
tmp
_ dh _ callback= (1) -
to
_ der (1) -
to
_ io (2) -
to
_ pem (1) -
to
_ text (1) - verify (1)
-
verify
_ callback (2) -
verify
_ callback= (2) -
verify
_ depth (2) -
verify
_ depth= (2) -
verify
_ mode (1) -
verify
_ mode= (2) -
verify
_ result (1) -
write
_ nonblock (1)
検索結果
先頭5件
-
OpenSSL
:: SSL (69145.0) -
* OpenSSL::SSL::SSLContext * OpenSSL::SSL::SSLServer * OpenSSL::SSL::SSLSocket
* OpenSSL::SSL::SSLContext
* OpenSSL::SSL::SSLServer
* OpenSSL::SSL::SSLSocket -
OpenSSL
:: SSL :: VERIFY _ NONE -> Integer (63067.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: クライアントに証明書を要求せず、クライアントは証明書を
送り返しません。
クライアントモード: サーバから受け取った証明書は検証されますが、失敗しても
ハンドシェイクは継続します。
ハンドシェイクの結果は OpenSSL::SSL::SSLSocket#verify_result で
取得できます。
このフラグは単独で用いられるべきです。 -
OpenSSL
:: SSL :: VERIFY _ PEER -> Integer (63067.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: サーバーはクライアントに証明書を要求します。
送られてきた証明書は検証されます。検証が失敗した場合、
TLS/SSL ハンドシェイクを即座に終了させます。
クライアントは要求を無視することも可能です。
OpenSSL::SSL::VERIFY_FAIL_IF_NO_PEER_CERT と同時に指定した場合は
クライアントが要求を無視した場合にはハンドシェイクを即座に停止します。
クライアントモ... -
OpenSSL
:: SSL :: OP _ NETSCAPE _ DEMO _ CIPHER _ CHANGE _ BUG -> Integer (63049.0) -
@todo OpenSSL::SSL::SSLContext#options= で利用します。
@todo
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ NO _ SSLv3 -> Integer (63049.0) -
SSL v3 の使用を禁止するフラグです。 OpenSSL::SSL::SSLContext#options= で利用します。
SSL v3 の使用を禁止するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ PKCS1 _ CHECK _ 1 -> Integer (63049.0) -
@todo OpenSSL::SSL::SSLContext#options= で利用します。
@todo
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ PKCS1 _ CHECK _ 2 -> Integer (63049.0) -
@todo OpenSSL::SSL::SSLContext#options= で利用します。
@todo
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ SINGLE _ ECDH _ USE -> Integer (63049.0) -
@todo OpenSSL::SSL::SSLContext#options= で利用します。
@todo
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: VERIFY _ CLIENT _ ONCE -> Integer (63049.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: 最初の TLS/SSL ハンドシェイクの時だけクライアント
に証明書を要求します。このフラグは VERIFY_PEER フラグとともに
使われなければなりません。
クライアントモード: 無視されます。 -
OpenSSL
:: SSL :: VERIFY _ FAIL _ IF _ NO _ PEER _ CERT -> Integer (63049.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: クライアントが証明書を返さない場合に
TLS/SSL ハンドシェイクを即座に終了させます。
このフラグは VERIFY_PEER フラグとともに使われなければなりません。
クライアントモード: 無視されます。 -
OpenSSL
:: SSL :: OP _ DONT _ INSERT _ EMPTY _ FRAGMENTS -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ MICROSOFT _ BIG _ SSLV3 _ BUFFER -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ MICROSOFT _ SESS _ ID _ BUG -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ MSIE _ SSLV2 _ RSA _ PADDING -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ NETSCAPE _ CHALLENGE _ BUG -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ NETSCAPE _ REUSE _ CIPHER _ CHANGE _ BUG -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ SSLEAY _ 080 _ CLIENT _ DH _ BUG -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ SSLREF2 _ REUSE _ CERT _ TYPE _ BUG -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ TLS _ BLOCK _ PADDING _ BUG -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ TLS _ D5 _ BUG -> Integer (63037.0) -
SSL 通信での各種バグ回避コードを有効にするフラグです。
SSL 通信での各種バグ回避コードを有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は OpenSSL::SSL::OP_ALL でこれらすべてを有効にします。
特定のフラグのみ無効にしたい場合は例えば
ctx.options = OP_ALL & ~OP_DONT_INSERT_EMPTY_FRAGMENTS
などとします。 -
OpenSSL
:: SSL :: OP _ ALL -> Integer (63019.0) -
SSL 通信で各種のバグ回避コードをすべて有効にするフラグです。
SSL 通信で各種のバグ回避コードをすべて有効にするフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ CIPHER _ SERVER _ PREFERENCE -> Integer (63019.0) -
暗号スイートの選択においてサーバ側の優先順位を優先するフラグです。
暗号スイートの選択においてサーバ側の優先順位を優先するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。
このフラグを立てていない場合はクライアント側の優先順位を優先します。 -
OpenSSL
:: SSL :: OP _ EPHEMERAL _ RSA -> Integer (63019.0) -
RSA を使う場合に常に一時的 RSA 鍵を使うことを意味するフラグです。
RSA を使う場合に常に一時的 RSA 鍵を使うことを意味するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ NETSCAPE _ CA _ DN _ BUG -> Integer (63019.0) -
Netscape の CA の DN のエンコーディングバグを 回避するコードを有効にします。
Netscape の CA の DN のエンコーディングバグを
回避するコードを有効にします。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ NO _ COMPRESSION (63019.0) -
OpenSSL による通信の圧縮を禁止します。
OpenSSL による通信の圧縮を禁止します。
OpenSSL::SSL::SSLContext#options= で利用します。
@see https://bugs.ruby-lang.org/issues/5183 -
OpenSSL
:: SSL :: OP _ NO _ SESSION _ RESUMPTION _ ON _ RENEGOTIATION -> Integer (63019.0) -
セッション再ネゴシエーションをした場合にサーバ側で 常に新しいセッションを生成するフラグです。
セッション再ネゴシエーションをした場合にサーバ側で
常に新しいセッションを生成するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ NO _ SSLv2 -> Integer (63019.0) -
SSL v2 の使用を禁止するフラグです。
SSL v2 の使用を禁止するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ NO _ TICKET -> Integer (63019.0) -
RFC4507bis チケットによる stateless session resumption を 無効化します。
RFC4507bis チケットによる stateless session resumption を
無効化します。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ NO _ TLSv1 -> Integer (63019.0) -
TLS v1 の使用を禁止するフラグです。
TLS v1 の使用を禁止するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ NO _ TLSv1 _ 1 -> Integer (63019.0) -
TLS v1.1 の使用を禁止するフラグです。
TLS v1.1 の使用を禁止するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ NO _ TLSv1 _ 2 -> Integer (63019.0) -
TLS v1.2 の使用を禁止するフラグです。
TLS v1.2 の使用を禁止するフラグです。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ SINGLE _ DH _ USE -> Integer (63019.0) -
一時的 DH 鍵を使うとき毎回鍵を生成するフラグです。
一時的 DH 鍵を使うとき毎回鍵を生成するフラグです。
このオプションは「安全でない」素数を使って DH パラメータを
生成したときに「small subgroup attack」を防ぐために必要です。
「安全な」素数を使った場合は必ずしも必要なオプションでは
ありませんが、このオプションを使うことは推奨されています。
OpenSSL::SSL::SSLContext#options= で利用します。 -
OpenSSL
:: SSL :: OP _ TLS _ ROLLBACK _ BUG -> Integer (63019.0) -
バージョンロールバック攻撃の検出を無効にします。
バージョンロールバック攻撃の検出を無効にします。
OpenSSL::SSL::SSLContext#options= で利用します。
通常は使わないでください。
鍵交換時に、クライアントとサーバで利用可能なプロトコルのバージョンを
やりとりします。クライアントによってはサーバが送った
バージョンを無視します。そのようなクライアントと通信する必要が
ある場合このオプションを有効にします。 -
OpenSSL
:: SSL :: SSLSocket # session -> OpenSSL :: SSL :: Session (9388.0) -
利用している SSL セッションを OpenSSL::SSL::Session オブジェクトで返します。
利用している SSL セッションを OpenSSL::SSL::Session
オブジェクトで返します。
@see OpenSSL::SSL::SSLSocket#session=,
OpenSSL::SSL::SSLSocket#session_reused? -
OpenSSL
:: SSL :: SSLServer . new(svr , ctx) -> OpenSSL :: SSL :: SSLServer (9376.0) -
TCPServer オブジェクトをラップする SSLServer オブジェクトを生成します。
TCPServer オブジェクトをラップする SSLServer オブジェクトを生成します。
svr にはラップするTCPServer オブジェクトを、
ctx には SSL サーバが用いる OpenSSL::SSL::SSLContext
オブジェクトを生成します。
OpenSSL::SSL::SSLServer#listen や OpenSSL::SSL::SSLServer#accept
は内部で svr で渡されたオブジェクトの
TCPServer#listen や TCPServer#accept を呼び出します。
@param svr 利用する TCPServer オブジェ... -
OpenSSL
:: SSL :: SSLContext # set _ params(params) -> Hash (9361.0) -
パラメータをハッシュで設定します。
パラメータをハッシュで設定します。
渡すハッシュテーブルは { パラメータ名のシンボル => パラメータの値 } という
形をしていなければなりません。
以下のパラメータを設定できます。
* :cert (OpenSSL::SSL::SSLContext#cert=)
* :key (OpenSSL::SSL::SSLContext#key=)
* :client_ca (OpenSSL::SSL::SSLContext#client_ca=)
* :ca_file (OpenSSL::SSL::SSLContext#ca_file=)
* :ca_path (Open... -
OpenSSL
:: SSL :: SSLContext . new -> OpenSSL :: SSL :: SSLContext (9361.0) -
SSL コンテキストオブジェクトを生成します。
SSL コンテキストオブジェクトを生成します。
ssl_method で利用するプロトコルの種類を文字列もしくは
シンボルで指定します。以下のいずれかが利用可能です。
* 'TLSv1' TLSv1サーバクライアント両用
* 'TLSv1_server' TLSv1サーバ用
* 'TLSv1_client' TLSv1クライアント用
* 'TLSv1_1'
* 'TLSv1_1_server'
* 'TLSv1_1_client'
* 'TLSv1_2'
* 'TLSv1_2_server'
* 'TLSv1_2_client'
*... -
OpenSSL
:: SSL :: SSLContext . new(ssl _ method) -> OpenSSL :: SSL :: SSLContext (9361.0) -
SSL コンテキストオブジェクトを生成します。
SSL コンテキストオブジェクトを生成します。
ssl_method で利用するプロトコルの種類を文字列もしくは
シンボルで指定します。以下のいずれかが利用可能です。
* 'TLSv1' TLSv1サーバクライアント両用
* 'TLSv1_server' TLSv1サーバ用
* 'TLSv1_client' TLSv1クライアント用
* 'TLSv1_1'
* 'TLSv1_1_server'
* 'TLSv1_1_client'
* 'TLSv1_2'
* 'TLSv1_2_server'
* 'TLSv1_2_client'
*... -
OpenSSL
:: SSL :: SSLSocket . new(socket) -> OpenSSL :: SSL :: SSLSocket (9361.0) -
socket をラップして SSLSocket オブジェクトを生成します。
socket をラップして SSLSocket オブジェクトを生成します。
socket には ラップする TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。
context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。
@param socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL:... -
OpenSSL
:: SSL :: SSLSocket . new(socket , context) -> OpenSSL :: SSL :: SSLSocket (9361.0) -
socket をラップして SSLSocket オブジェクトを生成します。
socket をラップして SSLSocket オブジェクトを生成します。
socket には ラップする TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。
context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。
@param socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL:... -
OpenSSL
:: SSL :: Session . new(obj) -> OpenSSL :: SSL :: Session (9358.0) -
新しいセッションオブジェクトを生成します。
新しいセッションオブジェクトを生成します。
引数に OpenSSL::SSL::SSLSocket が渡された場合は、
それに結び付けられたセッションを表すオブジェクトを返します。
OpenSSL::SSL::SSLSocket#session と同じ動作をします。
引数が文字列の場合、 PEM 形式もしくは DER 形式で保存された
セッションデータであるとみなし、セッションオブジェクトを生成します。
引数が IO オブジェクトである場合は、データを読みだし
PEM 形式もしくは DER 形式とみなしてセッションオブジェクトを生成します。
@param obj セッションオブジェクトの... -
OpenSSL
:: SSL :: SSLServer # accept -> OpenSSL :: SSL :: SSLSocket (9322.0) -
クライアントからの接続を受け付け、接続した SSLSocket オブジェクトを返します。
クライアントからの接続を受け付け、接続した
SSLSocket オブジェクトを返します。
OpenSSL::SSL::SSLServer#start_immediately が真ならば、
SSLSocket#accept を呼び TLS/SSL ハンドシェイクを実行してから
SSLSocket オブジェクトを返します。 -
OpenSSL
:: SSL :: SSLSocket # context -> OpenSSL :: SSL :: SSLContext (9322.0) -
SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。
SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。
@see OpenSSL::SSL::SSLSocket.new -
OpenSSL
:: SSL :: SSLContext # options=(options) (9289.0) -
オプションを設定します。
オプションを設定します。
以下の値の OR で指定します。
* OpenSSL::SSL::OP_ALL
* OpenSSL::SSL::OP_CIPHER_SERVER_PREFERENCE
* OpenSSL::SSL::OP_EPHEMERAL_RSA
* OpenSSL::SSL::OP_NETSCAPE_CA_DN_BUG
* OpenSSL::SSL::OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
* OpenSSL::SSL::OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
* OpenSS... -
OpenSSL
:: SSL :: Session (9199.0) -
SSL/TLS セッションを表すクラスです。
SSL/TLS セッションを表すクラスです。
セッションとは、SSL/TLS のハンドシェイクで確立される
仮想的なオブジェクトであり、安全な通信路を
実現するために必要な、クライアント側とサーバ側で共有される
情報の集合体です。SSL/TLS ハンドシェイクで必要な計算(特に署名の検証)
はかなり高コストであり、以前にそのような計算を済ませたという事実を
利用してハンドシェイクの高速化を図ることができます。
これがセッションの再利用です。
より具体的には、以下のような手順で再利用が行われます。
* まずは普通にクライアントとサーバでハンドシェイクを行う
* クライアントとサーバの... -
OpenSSL
:: SSL :: SSLContext # session _ cache _ mode=(mode) (9181.0) -
セッションキャッシュのモードを指定します。
セッションキャッシュのモードを指定します。
以下の定数のORを引数として渡します。
* OpenSSL::SSL::SSLContext::SESSION_CACHE_OFF
* OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT
* OpenSSL::SSL::SSLContext::SESSION_CACHE_SERVER
* OpenSSL::SSL::SSLContext::SESSION_CACHE_BOTH
* OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_AUTO_CLEAR
... -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ NO _ INTERNAL -> Integer (9115.0) -
OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_STORE と OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_LOOKUP の両方を有効にすることを意味します。
OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_STORE
と
OpenSSL::SSL::SSLContext::SESSION_CACHE_NO_INTERNAL_LOOKUP
の両方を有効にすることを意味します。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。 -
OpenSSL
:: SSL :: SSLContext # client _ cert _ cb=(cb) (9103.0) -
OpenSSL::SSL::SSLContext#cert= でクライアント証明書を セットしていなかった場合にサーバからクライアント証明書の要求が来たときに 呼びだされるコールバックオブジェクトを設定します。
OpenSSL::SSL::SSLContext#cert= でクライアント証明書を
セットしていなかった場合にサーバからクライアント証明書の要求が来たときに
呼びだされるコールバックオブジェクトを設定します。
コールバックに渡される引数は以下のように
proc{|sslsocket| ... }
1つで、利用している OpenSSL::SSL::SSLSocket
オブジェクトが渡されます。そのオブジェクトから必要な証明書を見つけるのに
必要な情報を取得します。
コールバックはクライアント証明書(OpenSSL::X509::Certificate)
とその秘密鍵(OpenSSL::P... -
OpenSSL
:: SSL :: SSLServer # start _ immediately=(bool) (9103.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
:: SSL :: SSLContext # session _ id _ context=(id _ context) (9091.0) -
セッション ID コンテキストを文字列で設定します。
セッション ID コンテキストを文字列で設定します。
セッション ID コンテキストは、セッションをグループ化するための
識別子で、セッション ID コンテキストとセッション ID の両方が
一致する場合に同一のセッションであると判別されます。
この OpenSSL::SSL::SSLContext オブジェクトで
生成されたコネクション(OpenSSL::SSL::SSLSocket)に
関連付けられたセッションはセッション ID コンテキスト
を共有します。
セッション ID コンテキストはセッションのグループを
識別するための識別子であり、一方セッション ID は各セッションを
識別... -
OpenSSL
:: SSL :: SSLContext # verify _ mode=(mode) (9091.0) -
検証モードを設定します。
検証モードを設定します。
以下の定数の OR を取って指定します。
* OpenSSL::SSL::VERIFY_NONE
* OpenSSL::SSL::VERIFY_PEER
* OpenSSL::SSL::VERIFY_CLIENT_ONCE
* OpenSSL::SSL::VERIFY_FAIL_IF_NO_PEER_CERT
これらの定数の意味はクライアントモードとサーバモードでは異なる
意味を持ちます。
デフォルトは nil で、VERIFY_NONE を意味します。
@param mode 設定するモード(整数値)
@see OpenSSL::SSL::SS... -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (9091.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S... -
OpenSSL
:: SSL :: SSLSocket # hostname=(hostname) (9091.0) -
TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。
TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。
Server Name Indication については 3546 を参照してください。
このメソッドはハンドシェイク時にクライアント側がサーバ側に
サーバのホスト名を伝えるために用います。そのため、
クライアント側が OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでホスト名を指定する必要があります。
hostname に nil を渡すと SNI 拡張を利用しません。
サーバ側については OpenSSL::SSL::SSLCont... -
OpenSSL
:: SSL :: SSLSocket # session=(sess) (9091.0) -
ハンドシェイクで再利用する SSL セッションを 設定します。
ハンドシェイクで再利用する SSL セッションを
設定します。
このメソッドはクライアント側でのみ有用です。
セッションを再利用する場合は、
OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでセッションオブジェクト
(OpenSSL::SSL::Session のインスタンス)
を設定します。
サーバ側の場合 OpenSSL::SSL::SSLContext がキャッシュの保持と
管理を行います。
@param sess 設定するセッション
@see OpenSSL::SSL::SSLSocket#session,
OpenSSL::SS... -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ NO _ AUTO _ CLEAR -> Integer (9085.0) -
OpenSSL::SSL::SSLContext 内部の セッションキャッシュ領域を自動的にクリアしないことを意味します。
OpenSSL::SSL::SSLContext 内部の
セッションキャッシュ領域を自動的にクリアしないことを意味します。
通常では255コネクションごとにキャッシュを破棄しますが、この
フラグを有効にするとそれをしなくなります。
代わりに適当なタイミングで
OpenSSL::SSL::SSLContext#flush_sessions を呼び
キャッシュを破棄しなければなりません。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。 -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ NO _ INTERNAL _ LOOKUP -> Integer (9085.0) -
サーバ側でセッションキャッシュが必要になった場合 OpenSSL::SSL::SSLContext が保持するキャッシュ領域 を探索しないことを意味します。
サーバ側でセッションキャッシュが必要になった場合
OpenSSL::SSL::SSLContext が保持するキャッシュ領域
を探索しないことを意味します。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。
このフラグを ON にすると、キャッシュの探索が必要になった
場合必ずコールバック(OpenSSL::SSL::SSLContext#session_get_cb=
で設定したもの)を呼ぶようになります。 -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ NO _ INTERNAL _ STORE -> Integer (9085.0) -
セッションキャッシュを OpenSSL::SSL::SSLContext 内部の キャッシュ領域に保持しないことを意味します。
セッションキャッシュを OpenSSL::SSL::SSLContext 内部の
キャッシュ領域に保持しないことを意味します。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。
ハンドシェイクによってセッションが開始された場合には
そのセッションを OpenSSL::SSL::SSLContext 内部に
キャッシュとして保持しますが、
このフラグを有効にすると自動的にキャッシュされることは
なくなります。 -
OpenSSL
:: SSL :: SSLContext # session _ get _ cb=(cb) (9073.0) -
セッションキャッシュを探索し、内部のキャッシュテーブルには 見付からなかった場合に呼び出されるコールバックを設定します。
セッションキャッシュを探索し、内部のキャッシュテーブルには
見付からなかった場合に呼び出されるコールバックを設定します。
コールバックオブジェクトを call するときの引数は
[ 接続オブジェクト(OpenSSL::SSL::SSLSocket), セッションID(文字列) ]
という配列です。このコールバックの返り値が
OpenSSL::SSL::Session オブジェクトならば、
それをキャッシュ値として利用します。それ以外を返したならば、
キャッシュは見つからなかったものとして取り扱われます。
セッションキャッシュについて詳しくは OpenSSL::SSL::Session ... -
OpenSSL
:: SSL :: SSLContext # session _ new _ cb=(cb) (9073.0) -
新たなセッションが作られたときに呼び出されるコールバックを 指定します。
新たなセッションが作られたときに呼び出されるコールバックを
指定します。
コールバックオブジェクトを call するときの引数は
[ 接続オブジェクト(OpenSSL::SSL::SSLSocket), 新たなセッション(OpenSSL::SSL::Session)]
という配列です。
セッションキャッシュについて詳しくは OpenSSL::SSL::Session を
見てください。
@param cb コールバックオブジェクト(Proc もしくは Method)
@see OpenSSL::SSL::SSLContext#session_new_cb -
OpenSSL
:: SSL :: SSLContext # session _ remove _ cb=(cb) (9073.0) -
セッションが内部キャッシュから破棄されたときに呼び出される コールバックを設定します。
セッションが内部キャッシュから破棄されたときに呼び出される
コールバックを設定します。
コールバックオブジェクトを call するときの引数は
[ SSLContextオブジェクト(OpenSSL::SSL::SSLContext),
破棄されるセッション(OpenSSL::SSL::Session)]
という配列です。
セッションキャッシュについて詳しくは OpenSSL::SSL::Session を
見てください。
@param cb コールバックオブジェクト(Proc もしくは Method)
@see OpenSSL::SSL::SSLContext#sessi... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (9073.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::S... -
OpenSSL
:: SSL :: SSLSocket # post _ connection _ check(hostname) -> true (9073.0) -
接続後検証を行います。
接続後検証を行います。
検証に成功した場合は true を返し、失敗した場合は例外
OpenSSL::SSL::SSLError を発生させます。
OpenSSL の API では、
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
での検証は実用的には不完全です。
CA が証明書に署名してそれが失効していないことしか確認しません。
実用上は証明書に記載されている事項を見て、接続先が妥当であるかを確認する
必要があります。通常は接続先ホストの FQDN と証明書に記載されている FQDN が
一致しているか... -
OpenSSL
:: SSL :: SSLContext # client _ cert _ cb -> Proc | nil (9067.0) -
OpenSSL::SSL::SSLContext#cert= でクライアント証明書を セットしていなかった場合にサーバからクライアント証明書の要求が来たときに 呼びだされるコールバックオブジェクトを返します。
OpenSSL::SSL::SSLContext#cert= でクライアント証明書を
セットしていなかった場合にサーバからクライアント証明書の要求が来たときに
呼びだされるコールバックオブジェクトを返します。
デフォルトは nil (コールバックなし)です。
@see OpenSSL::SSL::SSLContext#client_cert_cb= -
OpenSSL
:: SSL :: SSLContext # key -> OpenSSL :: PKey :: PKey | nil (9067.0) -
OpenSSL::SSL::SSLContext#cert で得られる自分自身を証明するための 証明書の公開鍵に対応する秘密鍵を返します。
OpenSSL::SSL::SSLContext#cert で得られる自分自身を証明するための
証明書の公開鍵に対応する秘密鍵を返します。
@see OpenSSL::SSL::SSLContext#key= -
OpenSSL
:: SSL :: SSLContext # key=(key) (9067.0) -
OpenSSL::SSL::SSLContext#cert= で設定された自分自身を証明するための 証明書の公開鍵に対応する秘密鍵を設定します。
OpenSSL::SSL::SSLContext#cert= で設定された自分自身を証明するための
証明書の公開鍵に対応する秘密鍵を設定します。
デフォルトな nil です。
@param key 設定する秘密鍵(OpenSSL::PKey::PKey のサブクラスのインスタンス)
@see OpenSSL::SSL::SSLContext#key -
OpenSSL
:: SSL :: SSLContext # session _ add(sess) -> bool (9067.0) -
セッションを OpenSSL::SSL::SSLContext 内部のキャッシュ領域に 追加します。
セッションを OpenSSL::SSL::SSLContext 内部のキャッシュ領域に
追加します。
成功時には真を返します。すでにキャッシュ領域にあるセッションを
追加しようとした場合は追加されずに偽を返します。
@param sess 追加するセッション(OpenSSL::SSL::Session) -
OpenSSL
:: SSL :: SSLContext # session _ remove(sess) -> bool (9067.0) -
セッションを OpenSSL::SSL::SSLContext 内部のキャッシュ領域から 取り除きます。
セッションを OpenSSL::SSL::SSLContext 内部のキャッシュ領域から
取り除きます。
成功時には真を返します。キャッシュ領域に存在しないセッションを
削除しようとした場合は偽を返します。
@param sess 削除するセッション(OpenSSL::SSL::Session) -
OpenSSL
:: SSL :: SSLServer # start _ immediately -> bool (9067.0) -
OpenSSL::SSL::SSLServer#accept で accept したらすぐに TLS/SSL ハンドシェイクを実行するかどうかを返します。
OpenSSL::SSL::SSLServer#accept で
accept したらすぐに TLS/SSL ハンドシェイクを実行するかどうかを返します。
@see OpenSSL::SSL::SSLServer#start_immediately= -
OpenSSL
:: SSL :: SSLContext (9055.0) -
SSL コンテキストクラス。
SSL コンテキストクラス。
SSL コネクション(OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer)
オブジェクトを生成するためのファクトリクラスです。
コネクションを生成するために必要なパラメータ(プロトコルのバージョン、
証明書の情報、認証の要件など)を保持します。
コネクションを1度生成して以降は、コンテキストが保持しているパラメータを
変更できません。一部のパラメータが共有されるため、安全性のため
Object#freeze によってオブジェクトを変更不可能にします。
ただしこの凍結は完全ではなく、
この後もセッション管理機能によ... -
OpenSSL
:: SSL :: SSLContext # cert _ store=(store) (9055.0) -
接続相手の証明書の検証のために使う、信頼している CA 証明書を 含む証明書ストアを設定します。
接続相手の証明書の検証のために使う、信頼している CA 証明書を
含む証明書ストアを設定します。
通常は OpenSSL::SSL::SSLContext#ca_path= や
OpenSSL::SSL::SSLContext#ca_file= で証明書を設定しますが、
CRL を使いたいなど、より詳細な設定をしたい場合にはこれを使います。
デフォルトは nil (証明書ストアを指定しない)です。
@param store 設定する証明書ストア(OpenSSL::X509::Store のインスタンス)
@see OpenSSL::SSL::SSLContext#cert_store -
OpenSSL
:: SSL :: SSLContext # servername _ cb=(pr) (9055.0) -
TLS の Server Name Indication(SNI) 拡張で クライアント側からホスト名が伝えられてきた場合に 呼びだされるコールバックを設定します。
TLS の Server Name Indication(SNI) 拡張で
クライアント側からホスト名が伝えられてきた場合に
呼びだされるコールバックを設定します。
このコールバックはハンドシェイク時に
クライアント側がサーバのホスト名を伝えてきた場合に
サーバ側で呼びだされます。このコールバック内でサーバ側に提示する証明書を
調整したりします。
Proc や Method をコールバックオブジェクトとして
渡します。コールバックに渡される引数は以下のように
proc{|sslsocket, hostname| ... }
2つで、1つ目は認証および暗号化通信に使われる OpenSSL... -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ BOTH -> Integer (9055.0) -
サーバ側、クライアント側両方でセッションをキャッシュすることを意味します。
サーバ側、クライアント側両方でセッションをキャッシュすることを意味します。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。
実際には
OpenSSL::SSL::SSLContext::SESSION_CACHE_SERVER と
OpenSSL::SSL::SSLContext::SESSION_CACHE_CLIENT のビット論理和
を取った値です。 -
OpenSSL
:: SSL :: SSLSocket # accept -> self (9055.0) -
TLS/SSL 通信をサーバモードとして開始し、クライアントからの ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。
TLS/SSL 通信をサーバモードとして開始し、クライアントからの
ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#connect,
OpenSSL::SSL::SSLSocket#accept_nonblock -
OpenSSL
:: SSL :: SSLSocket # cert -> OpenSSL :: X509 :: Certificate | nil (9055.0) -
自分自身を証明する証明書を返します。
自分自身を証明する証明書を返します。
自分自身を証明する証明書を使わなかった場合は nil を返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼んだ
場合も nil を返します。
@see OpenSSL::SSL::SSLContext#cert -
OpenSSL
:: SSL :: SSLSocket # connect -> self (9055.0) -
TLS/SSl 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
TLS/SSl 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#accept,
OpenSSL::SSL::SSLSocket#connect_nonblock -
OpenSSL
:: SSL :: SSLSocket # peer _ cert -> OpenSSL :: X509 :: Certificate | nil (9055.0) -
接続相手の証明書オブジェクトを返します。
接続相手の証明書オブジェクトを返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。
@see OpenSSL::SSL::SSLSocket#peer_cert_chain -
OpenSSL
:: SSL :: SSLSocket # peer _ cert _ chain -> [OpenSSL :: X509 :: Certificate] | nil (9055.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 _ reused? -> bool (9055.0) -
利用している SSL セッションが再利用されたものである 場合に真を返します。
利用している SSL セッションが再利用されたものである
場合に真を返します。
@see OpenSSL::SSL::Session,
OpenSSL::SSL::SSLSocket#session,
OpenSSL::SSL::SSLSocket#session= -
OpenSSL
:: SSL :: Session # timeout -> Integer (9055.0) -
セッションタイムアウトの時間(秒数)を整数で返します。
セッションタイムアウトの時間(秒数)を整数で返します。
デフォルト値は OpenSSL::SSL::SSLContext#timeout=
で設定されます。
@see OpenSSL::SSL::Session#time,
OpenSSL::SSL::Session#timeout= -
OpenSSL
:: SSL :: SSLContext :: DEFAULT _ CERT _ STORE -> OpenSSL :: X509 :: Store (9049.0) -
OpenSSL::SSL::SSLContext#set_params で信頼する CA 証明書 (ca_file, ca_path, cert_store) を一切指定しなかった場合に デフォルトで使われる証明書ストアです。
OpenSSL::SSL::SSLContext#set_params で信頼する CA 証明書
(ca_file, ca_path, cert_store) を一切指定しなかった場合に
デフォルトで使われる証明書ストアです。
OpenSSL::X509::Store#set_default_paths でシステムが提供する
証明書を利用するように設定されています。 -
OpenSSL
:: SSL :: SSLContext :: DEFAULT _ PARAMS -> { Symbol -> object } (9049.0) -
OpenSSL::SSL::SSLContext#set_params でデフォルト値として使われる パラメータです。
OpenSSL::SSL::SSLContext#set_params でデフォルト値として使われる
パラメータです。 -
OpenSSL
:: SSL :: SSLError (9049.0) -
OpenSSL::SSL 関連のエラーが生じたときに発生する例外です。
OpenSSL::SSL 関連のエラーが生じたときに発生する例外です。 -
OpenSSL
:: SSL :: Session :: SessionError (9049.0) -
セッション(OpenSSL::SSL::Session)関連のエラーが 生じた場合に発生する例外です。
セッション(OpenSSL::SSL::Session)関連のエラーが
生じた場合に発生する例外です。 -
OpenSSL
:: SSL :: SSLContext # extra _ chain _ cert=(certificates) (9037.0) -
自分自身を証明する証明書からルート CA までの証明書のリストを配列で設定します。
自分自身を証明する証明書からルート CA までの証明書のリストを配列で設定します。
OpenSSL::SSL::SSLContext#cert で設定した証明書から相手が持っていると
期待されるルート CA 証明書までのリストを渡します。
これによって接続相手はチェインを辿ることでその相手が信頼していない証明書の
信頼性を順に確認し、自分自身を証明する証明書の信頼性を確認します。
@param certificates 設定する証明書チェイン(OpenSSL::X509::Certificate の
配列)
@see OpenSSL::SSL::SSLContext#ext... -
OpenSSL
:: SSL :: SSLContext # renegotiation _ cb=(cb) (9037.0) -
@todo
@todo
ハンドシェイク開始時に呼び出されるコールバックを設定します。
コールバックには OpenSSL::SSL::SSLSocket オブジェクトが
渡されます。
このコールバック内で何らかの例外が生じた場合には
以降のSSLの処理を停止します。
再ネゴシエーションのたびにこのコールバックが呼び出されるため、
何らかの理由で再ネゴシエーションを禁止したい場合などに利用できます。
nil を渡すとコールバックは無効になります。
以下の例は再ネゴシエーションを一切禁止します。
num_handshakes = 0
ctx.renegotiation_cb = lambd... -
OpenSSL
:: SSL :: SSLContext # session _ id _ context -> String | nil (9037.0) -
セッション ID コンテキスト文字列を返します。
セッション ID コンテキスト文字列を返します。
設定されていない場合は nil を返します。
@see OpenSSL::SSL::Session,
OpenSSL::SSL::SSLContext#session_id_context= -
OpenSSL
:: SSL :: SSLContext # tmp _ dh _ callback=(cb) (9037.0) -
一時的 DH 鍵を生成するためのコールバックを設定します。
一時的 DH 鍵を生成するためのコールバックを設定します。
コールバックには Proc や Method を渡します。
暗号で一時的な DH 鍵を利用する場合にはこのコールバックが
呼びだされ、呼びだされたブロックは適切な鍵パラメータを返さなければ
なりません。これで設定するブロックは
proc{|sslsocket, is_export, keylen| ... }
という引数を取るようにします。それぞれの引数の意味は
* sslsocket 通信に使われる OpenSSL::SSL::SSLSocket オブジェクト
* is_export 輸出規制のある暗号を利用するかど... -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ CLIENT -> Integer (9037.0) -
クライアント側セッションをキャッシュに追加することを意味します。
クライアント側セッションをキャッシュに追加することを意味します。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。
クライアント側においては、OpenSSL ライブラリがどのセッションを
再利用するべきか確実に判定する方法はないので、再利用する場合は
OpenSSL::SSL::SSLSocket#session= によって明示的に
セッションを指定しなければなりません。 -
OpenSSL
:: SSL :: SSLContext :: SESSION _ CACHE _ SERVER -> Integer (9037.0) -
サーバ側でセッションをキャッシュすることを意味します。
サーバ側でセッションをキャッシュすることを意味します。
OpenSSL::SSL::SSLContext#session_cache_mode= に
渡すフラグとして用います。
このフラグが立っているとサーバ側の OpenSSL::SSL::SSLContext
でセッションキャッシュの保持と管理、再利用が
行われます。
このフラグはデフォルトで有効になっています。 -
OpenSSL
:: SSL :: SSLSocket # cipher -> [String , String , Integer , Integer] (9037.0) -
現在実際に使われている暗号の情報を配列で返します。
現在実際に使われている暗号の情報を配列で返します。
返される配列の形式は以下の例のように [暗号名, TLS/SSLのバージョン, 鍵長, アルゴリズムで使われる 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 (9037.0) -
TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。
TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。
OpenSSL::SSL::SSLSocket#hostname= で設定した値がそのまま返されます。
設定していない場合は nil を返します。
@see OpenSSL::SSL::SSLSocket#hostname= -
OpenSSL
:: SSL :: Session # time -> Time (9037.0) -
セッションが確立された時刻を返します。
セッションが確立された時刻を返します。
@see OpenSSL::SSL::Session#time=,
OpenSSL::SSL::Session#timeout -
OpenSSL
:: SSL :: Session # time=(t) (9037.0) -
セッション確立時刻を Time オブジェクトで更新します。
セッション確立時刻を Time オブジェクトで更新します。
これによってタイムアウト時刻が変更されます。
@param t 更新する時刻
@see OpenSSL::SSL::Session#time,
OpenSSL::SSL::Session#timeout -
OpenSSL
:: SSL :: Session # timeout=(t) (9037.0) -
セッションタイムアウトの時間(秒数)を整数で設定します。
セッションタイムアウトの時間(秒数)を整数で設定します。
これによってタイムアウト時刻が変更されます。
@param t タイムアウト時間
@see OpenSSL::SSL::Session#time,
OpenSSL::SSL::Session#timeout -
OpenSSL
:: SSL :: SocketForwarder (9037.0) -
to_io で返されるソケットオブジェクトにメソッドを フォワードするモジュールです。
to_io で返されるソケットオブジェクトにメソッドを
フォワードするモジュールです。
OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer と
いったソケットの SSL ラッパクラスにソケット関連のメソッドを定義するため
に使われます。 -
OpenSSL
:: SSL :: SSLContext # ca _ file -> String | nil (9019.0) -
接続相手の検証のために使う、信頼している CA 証明書ファイルのパスを返します。
接続相手の検証のために使う、信頼している CA 証明書ファイルのパスを返します。
設定されていない場合は nil を返します。
@see OpenSSL::SSL::SSLContext#ca_file= -
OpenSSL
:: SSL :: SSLContext # ca _ file=(ca) (9019.0) -
接続相手の検証のために使う、信頼している CA 証明書ファイルのパスを 設定します。
接続相手の検証のために使う、信頼している CA 証明書ファイルのパスを
設定します。
ファイルは以下のように複数の証明書を含んでいても構いません。
(ここに証明書の説明)
-----BEGIN CERTIFICATE-----
... (CA certificate in base64 encoding) ...
-----END CERTIFICATE-----
(ここに証明書の説明)
-----BEGIN CERTIFICATE-----
... (CA certificate in base64 encoding) ...
-----END CE... -
OpenSSL
:: SSL :: SSLContext # ca _ path -> String | nil (9019.0) -
信頼している CA 証明書ファイルを含むディレクトリを返します。
信頼している CA 証明書ファイルを含むディレクトリを返します。
設定されていない場合は nil を返します。
@see OpenSSL::SSL::SSLContext#ca_path= -
OpenSSL
:: SSL :: SSLContext # ca _ path=(ca) (9019.0) -
接続相手の証明書の検証のために使う、 信頼している CA 証明書ファイルを含むディレクトリを設定します。
接続相手の証明書の検証のために使う、
信頼している CA 証明書ファイルを含むディレクトリを設定します。
そのディレクトリに含まれる
証明書のファイル名は証明書のハッシュ値文字列でなければなりません。
@param ca CA 証明書ファイルを含むディレクトリ名文字列
@see OpenSSL::SSL::SSLContext#ca_path -
OpenSSL
:: SSL :: SSLContext # cert -> OpenSSL :: X509 :: Certificate (9019.0) -
自分自身を証明するための証明書を返します。
自分自身を証明するための証明書を返します。
デフォルトは nil (証明書なし)です。
@see OpenSSL::SSL::SSLContext#cert=