Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > opensslライブラリ > OpenSSL::SSL::SSLSocketクラス
class OpenSSL::SSL::SSLSocket
クラスの継承リスト: OpenSSL::SSL::SSLSocket < Enumerable < OpenSSL::SSL::SocketForwarder < Object < Kernel < BasicObject
Abstract
SSLSocket クラス
例
SSL/TLS サーバに接続して write します。
require 'socket' require 'openssl' include OpenSSL soc = TCPSocket.new('www.example.com', 443) ssl = SSL::SSLSocket.new(soc) ssl.connect ssl.write('hoge') print ssl.peer_cert.to_text ssl.close soc.close
特異メソッド
new(socket)
new(socket, context)
-
SSLSocket オブジェクトを生成します。socket には TCPSocket オブジェクトを与えます。context には OpenSSL::SSL::SSLContext オブジェクトを与えます。
インスタンスメソッド
self <<
-
IO#<< と同様です。
accept
-
TLS/SSL クライアントから接続を受け付け、 TLS/SSL ハンドシェイクを実行し、自分自身を返します。
cipher
-
現在実際に使われている暗号の情報を配列で返します。 TLS/SSL ハンドシェイクが行われる前の接続されていない状態では nil を返します。 返される配列の形式は以下の例のように [暗号名, TLS/SSLのバージョン, 鍵長, アルゴリズムで使われる bit 数] となります。
["DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168]
close
-
接続を閉じます。flush を呼んでから閉じます。
connect
-
接続相手との TLS/SSL ハンドシェイクを実行します。
context
-
SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。 [[C:openSSL::SSL::SSLContext]] オブジェクトです。
do_not_reverse_lookup=(bool)
each
-
IO#each と同様です。
each_byte
-
IO#each_byte と同様です。
eof?
-
IO#eof? と同様です。
fcntl(cmd[, arg])
-
IO#fcntl と同様です。
flush
-
IO#flush と同様です。
getc
-
IO#getc と同様です。
gets([rs])
-
IO#gets と同様です。
getsockopt(level, optname)
-
BasicSocket#getsockopt と同様です。
io
to_io
-
SSLSocket オブジェクトを生成する時に渡されたソケットを返します。
peer_cert
-
接続相手の X509 証明書 OpenSSL::X509::Certificate オブジェクトを返します。 検証結果は別途知る必要があります。
peer_cert_chain
-
接続相手の証明書チェーンすなわち OpenSSL::X509::Certificate オブジェクトの配列を返します。接続相手の証明書からルート CA の証明書までのリストで、順序は以下の通りです。
[接続相手の証明書, 下位CAの証明書,... 中間CAの証明書]
pending
-
読み取り可能なバイト数を返します。
post_connection_check
print([arg[, ...]])
-
IO#print と同様です。
printf(format[, arg[, ...]])
-
IO#printf と同様です。
puts([obj[, ...]])
-
IO#puts と同様です。
read([length[, buf]])
-
IO#read と同様です。
readchar
-
IO#readchar と同様です。
readlines([rs])
-
IO#readlines と同様です。
setsockopt(level, optname, optval)
-
BasicSocket#setsockopt と同様です。
state
-
現在の状態を 6 文字の文字列で返します。
sync_close
sync_close=
sysclose
-
接続を閉じます。相手に'close notify'を送ります。
sysread(length[, buf])
-
IO#sysread と同様です。
syswrite(string)
-
IO#syswrite と同様です。
ungetc(char)
-
IO#ungetc と同様です。
write(str)
-
IO#write と同様です。
定数
BLOCK_SIZE