るりまサーチ (Ruby 2.6.0)

最速Rubyリファレンスマニュアル検索!
12件ヒット [1-12件を表示] (0.015秒)
トップページ > バージョン:2.6.0[x] > クエリ:raise[x] > クエリ:SSLSocket[x]

別のキーワード

  1. _builtin raise
  2. kernel raise
  3. fiber raise
  4. thread raise
  5. e2mmap raise

検索結果

OpenSSL::SSL::SSLSocket (54037.0)

ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。

ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。


=== 例

SSL/TLS サーバに接続して write します。

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 er...

OpenSSL::SSL::SSLSocket.new(socket) -> OpenSSL::SSL::SSLSocket (9373.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 (9373.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#accept_nonblock -> self (9073.0)

ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。

ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。

IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。

@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S...

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#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#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#post_connection_check(hostname) -> true (9055.0)

接続後検証を行います。

接続後検証を行います。

検証に成功した場合は true を返し、失敗した場合は例外
OpenSSL::SSL::SSLError を発生させます。

OpenSSL の API では、
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
での検証は実用的には不完全です。
CA が証明書に署名してそれが失効していないことしか確認しません。
実用上は証明書に記載されている事項を見て、接続先が妥当であるかを確認する
必要があります。通常は接続先ホストの FQDN と証明書に記載されている FQDN が
一致しているか...

OpenSSL::SSL::SSLSocket#sysread(length, buf=nil) -> String (9037.0)

データをバッファを経由せずに暗号化通信路から読み込み、 読み込んだデータを文字列で返します。

データをバッファを経由せずに暗号化通信路から読み込み、
読み込んだデータを文字列で返します。

基本的にはこのメソッドは使わず、OpenSSL::Buffering の
メソッドを使ってデータを読み込むべきです。

length で読み込むバイト数を指定します。

bufに文字列を指定するとその文字列のメモリ領域にデータを直接書き込み、
その String オブジェクトを返します。

IO#sysread と同様です。

@param length 読み込むバイト数を指定します
@param buf データを書き込むバッファ
@raise EOFError 入力が終端に逹した場合に発生します
...

OpenSSL::SSL::SSLSocket#syswrite(string) -> Integer (9019.0)

データをバッファを経由せずに暗号化通信路に書き込みます。

データをバッファを経由せずに暗号化通信路に書き込みます。

書き込んだバイト数を整数で返します。

基本的にはこのメソッドは使わず、OpenSSL::Buffering の
メソッドを使ってデータを書き込むべきです。

IO#syswrite と同様です。

@param string 書き込むデータ文字列
@raise OpenSSL::SSL::SSLError 書き込みに失敗した場合に発生します

絞り込み条件を変える

OpenSSL::SSL::Session.new(obj) -> OpenSSL::SSL::Session (55.0)

新しいセッションオブジェクトを生成します。

新しいセッションオブジェクトを生成します。

引数に OpenSSL::SSL::SSLSocket が渡された場合は、
それに結び付けられたセッションを表すオブジェクトを返します。
OpenSSL::SSL::SSLSocket#session と同じ動作をします。

引数が文字列の場合、 PEM 形式もしくは DER 形式で保存された
セッションデータであるとみなし、セッションオブジェクトを生成します。
引数が IO オブジェクトである場合は、データを読みだし
PEM 形式もしくは DER 形式とみなしてセッションオブジェクトを生成します。

@param obj セッションオブジェクトの...

OpenSSL::SSL::SSLContext#renegotiation_cb=(cb) (37.0)

@todo

@todo

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

コールバックには OpenSSL::SSL::SSLSocket オブジェクトが
渡されます。

このコールバック内で何らかの例外が生じた場合には
以降のSSLの処理を停止します。

再ネゴシエーションのたびにこのコールバックが呼び出されるため、
何らかの理由で再ネゴシエーションを禁止したい場合などに利用できます。

nil を渡すとコールバックは無効になります。


以下の例は再ネゴシエーションを一切禁止します。
num_handshakes = 0
ctx.renegotiation_cb = lambd...