るりまサーチ (Ruby 2.6.0)

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

別のキーワード

  1. socket new
  2. socket open
  3. socket tcp_server_sockets
  4. socket udp_server_sockets
  5. socket listen

検索結果

OpenSSL::SSL::SSLSocket (81037.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 (28345.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 (28345.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#context -> OpenSSL::SSL::SSLContext (27367.0)

SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。

SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。

@see OpenSSL::SSL::SSLSocket.new

OpenSSL::SSL::SSLSocket#peer_cert -> OpenSSL::X509::Certificate | nil (27355.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 (27355.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#cert -> OpenSSL::X509::Certificate | nil (27337.0)

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

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

自分自身を証明する証明書を使わなかった場合は nil を返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼んだ
場合も nil を返します。

@see OpenSSL::SSL::SSLContext#cert

OpenSSL::SSL::SSLSocket#session -> OpenSSL::SSL::Session (27337.0)

利用している SSL セッションを OpenSSL::SSL::Session オブジェクトで返します。

利用している SSL セッションを OpenSSL::SSL::Session
オブジェクトで返します。

@see OpenSSL::SSL::SSLSocket#session=,
OpenSSL::SSL::SSLSocket#session_reused?

OpenSSL::SSL::SSLSocket#io -> IO (27067.0)

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

@see OpenSSL::SSL::SSLSocket.new

OpenSSL::SSL::SSLSocket#to_io -> IO (27067.0)

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

SSLSocket オブジェクトを生成する時に渡されたソケットを返します。

@see OpenSSL::SSL::SSLSocket.new

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#session=(sess) (27055.0)

ハンドシェイクで再利用する SSL セッションを 設定します。

ハンドシェイクで再利用する SSL セッションを
設定します。

このメソッドはクライアント側でのみ有用です。
セッションを再利用する場合は、
OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでセッションオブジェクト
(OpenSSL::SSL::Session のインスタンス)
を設定します。

サーバ側の場合 OpenSSL::SSL::SSLContext がキャッシュの保持と
管理を行います。

@param sess 設定するセッション
@see OpenSSL::SSL::SSLSocket#session,
OpenSSL::SS...

OpenSSL::SSL::SSLSocket#sync_close -> bool (27049.0)

SSLSocket を close するときにラップしているソケットも close するかどうかを 返します。

SSLSocket を close するときにラップしているソケットも close するかどうかを
返します。

true でソケットも close します。

OpenSSL::SSL::SSLSocket#sync_close=(bool) (27049.0)

SSLSocket を close するときにラップしているソケットも close するかどうかを 設定します。

SSLSocket を close するときにラップしているソケットも close するかどうかを
設定します。

true でソケットも close するようになります。

@param bool 設定する真偽値

OpenSSL::SSL::SSLSocket#accept -> self (27037.0)

TLS/SSL 通信をサーバモードとして開始し、クライアントからの ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。

TLS/SSL 通信をサーバモードとして開始し、クライアントからの
ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。

@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#connect,
OpenSSL::SSL::SSLSocket#accept_nonblock

OpenSSL::SSL::SSLSocket#accept_nonblock -> self (27037.0)

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

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

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

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

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#cipher -> [String, String, Integer, Integer] (27037.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#connect -> self (27037.0)

TLS/SSl 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。

TLS/SSl 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。


@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#accept,
OpenSSL::SSL::SSLSocket#connect_nonblock

OpenSSL::SSL::SSLSocket#connect_nonblock -> self (27037.0)

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

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

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

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

OpenSSL::SSL::SSLSocket#hostname -> String | nil (27037.0)

TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。

TLS の Server Name Indication 拡張で利用するサーバのホスト名を返します。

OpenSSL::SSL::SSLSocket#hostname= で設定した値がそのまま返されます。

設定していない場合は nil を返します。

@see OpenSSL::SSL::SSLSocket#hostname=

OpenSSL::SSL::SSLSocket#hostname=(hostname) (27037.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#post_connection_check(hostname) -> true (27037.0)

接続後検証を行います。

接続後検証を行います。

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

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

OpenSSL::SSL::SSLSocket#session_reused? -> bool (27037.0)

利用している SSL セッションが再利用されたものである 場合に真を返します。

利用している SSL セッションが再利用されたものである
場合に真を返します。

@see OpenSSL::SSL::Session,
OpenSSL::SSL::SSLSocket#session,
OpenSSL::SSL::SSLSocket#session=

OpenSSL::SSL::SSLSocket#sysclose -> nil (27019.0)

接続を閉じます。相手に'close notify'を送ります。

接続を閉じます。相手に'close notify'を送ります。

このメソッドは openssl ライブラリ内で管理しているバッファを
フラッシュせずに接続を閉じます。そのため、通常は
これではなく OpenSSL::Buffering#close を呼ぶべきです。

OpenSSL::SSL::SSLSocket#sync_close が真である場合は
このメソッドを呼びだした時点で自身が保持しているソケット
を同時に閉じます。

OpenSSL::SSL::SocketForwarder (27019.0)

to_io で返されるソケットオブジェクトにメソッドを フォワードするモジュールです。

to_io で返されるソケットオブジェクトにメソッドを
フォワードするモジュールです。

OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer と
いったソケットの SSL ラッパクラスにソケット関連のメソッドを定義するため
に使われます。

OpenSSL::SSL::SSLSocket#pending -> Integer | nil (27001.0)

OpenSSL内部のバッファが保持している、直ちに読み取り可能な データのバイト数を返します。

OpenSSL内部のバッファが保持している、直ちに読み取り可能な
データのバイト数を返します。

ハンドシェイク開始前には nil を返します。

絞り込み条件を変える

OpenSSL::SSL::SSLSocket#state -> String (27001.0)

現在の状態をアルファベット 6 文字の文字列で返します。

現在の状態をアルファベット 6 文字の文字列で返します。

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

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

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

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

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

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

IO#sysread と同様です。

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

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

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

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

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

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

IO#syswrite と同様です。

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

OpenSSL::SSL::SSLSocket#verify_result -> Integer (27001.0)

検証結果のエラーコードを整数値で返します。

検証結果のエラーコードを整数値で返します。

エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。

OpenSSL::SSL::SSLServer#accept -> OpenSSL::SSL::SSLSocket (9988.0)

クライアントからの接続を受け付け、接続した SSLSocket オブジェクトを返します。

クライアントからの接続を受け付け、接続した
SSLSocket オブジェクトを返します。

OpenSSL::SSL::SSLServer#start_immediately が真ならば、
SSLSocket#accept を呼び TLS/SSL ハンドシェイクを実行してから
SSLSocket オブジェクトを返します。

絞り込み条件を変える

OpenSSL::SSL::SSLServer (9037.0)

SSL サーバーのためのクラス。

SSL サーバーのためのクラス。

TCPServer をラップするクラスで、TCPServer で接続した
ソケットを OpenSSL::SSL::SSLSocket でラップする機能を持ちます。
おおよそ TCPServer と同様のメソッドを持ちます。

基本的には SSL サーバを簡単に実装するためのクラスであり、
これを利用せずとも SSL サーバを実装することは可能です。

以下はクライアントからの入力を標準出力に出力するだけのサーバです。

require 'socket'
require 'openssl'

include OpenSSL

ctx =...

ruby 1.8.3 feature (217.0)

ruby 1.8.3 feature *((<ruby 1.8 feature>)) *((<ruby 1.8.2 feature>))

ruby 1.8.3 feature
*((<ruby 1.8 feature>))
*((<ruby 1.8.2 feature>))

ruby 1.8.2 から ruby 1.8.3 までの変更点です。

掲載方針

*バグ修正の影響も含めて動作が変わるものを収録する。
*単にバグを直しただけのものは収録しない。
*ライブラリへの単なる定数の追加は収録しない。

以下は各変更点に付けるべきタグです。

記号について(特に重要なものは大文字(主観))

* カテゴリ
* [ruby]: ruby インタプリタの変更
* [api]: 拡張ライブラリ API
* [lib]: ...

NEWS for Ruby 2.3.0 (127.0)

NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

NEWS for Ruby 2.3.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。

== 2.2.0 以降の変更

=== 言語仕様の変更

* frozen-string-literal プラグマ:
* 実験的な機能として fronzen-string-literal というプラグマが導入されました。
897...