種類
- インスタンスメソッド (27)
- 定数 (10)
- クラス (2)
- モジュール (1)
クラス
モジュール
-
OpenSSL
:: X509 (10)
キーワード
-
PURPOSE
_ CRL _ SIGN (1) -
PURPOSE
_ NS _ SSL _ SERVER (1) -
PURPOSE
_ OCSP _ HELPER (1) -
PURPOSE
_ SMIME _ ENCRYPT (1) -
PURPOSE
_ SMIME _ SIGN (1) -
PURPOSE
_ SSL _ CLIENT (1) -
PURPOSE
_ SSL _ SERVER (1) - SSLSocket (1)
- StoreContext (1)
-
V
_ ERR _ APPLICATION _ VERIFICATION (1) -
V
_ ERR _ CERT _ CHAIN _ TOO _ LONG (1) -
V
_ ERR _ UNABLE _ TO _ VERIFY _ LEAF _ SIGNATURE (1) - chain (2)
-
current
_ cert (1) -
current
_ crl (1) - error (2)
- error= (1)
-
error
_ depth (1) -
error
_ string (2) - flags= (1)
- purpose= (1)
- sign (1)
-
verify
_ callback (2) -
verify
_ callback= (2) -
verify
_ result (1)
検索結果
先頭5件
-
OpenSSL
:: X509 :: Store # verify(cert , chain = nil) -> bool (96565.0) -
証明書を証明書ストアに存在する CA 証明書で検証します。
...書を証明書ストアに存在する CA 証明書で検証します。
chain には検証したい証明書の証明書チェイン全体を
OpenSSL::X509::Certificate の配列で渡します。
検証に成功した場合は true を、失敗した場合は false を返します。
この......クについては
OpenSSL::X509::Store#verify_callback= を参照してください。
内部では OpenSSL::X509::StoreContext.new と
OpenSSL::X509::StoreContext#verify を呼びだすことによって検証しています。
@param cert 検証したい証明書の OpenSSL::X509::Certificate
@......param chain 検証したい証明書の証明書チェイン全体の配列
@raise OpenSSL::X509::StoreError 検証時にエラーが生じたときに発生します... -
OpenSSL
:: X509 :: Store # verify(cert , chain = nil) {|ok , ctx| . . . } -> bool (96565.0) -
証明書を証明書ストアに存在する CA 証明書で検証します。
...書を証明書ストアに存在する CA 証明書で検証します。
chain には検証したい証明書の証明書チェイン全体を
OpenSSL::X509::Certificate の配列で渡します。
検証に成功した場合は true を、失敗した場合は false を返します。
この......クについては
OpenSSL::X509::Store#verify_callback= を参照してください。
内部では OpenSSL::X509::StoreContext.new と
OpenSSL::X509::StoreContext#verify を呼びだすことによって検証しています。
@param cert 検証したい証明書の OpenSSL::X509::Certificate
@......param chain 検証したい証明書の証明書チェイン全体の配列
@raise OpenSSL::X509::StoreError 検証時にエラーが生じたときに発生します... -
OpenSSL
:: X509 :: StoreContext # verify -> bool (96490.0) -
証明書を検証します。
...。
OpenSSL::X509::StoreContext.new で設定した証明書を検証します。
検証に成功した場合は true を、失敗した場合は false を返します。
検証の詳細な情報は
* OpenSSL::X509::StoreContext#error
* OpenSSL::X509::StoreContext#error_string
* OpenSSL::X50......9::StoreContext#chain
* OpenSSL::X509::StoreContext#current_crl... -
OpenSSL
:: X509 :: Request # verify(key) -> bool (96400.0) -
署名を検証します。
...には true を、失敗した場合には false を返します。
@param key 検証に利用する公開鍵(OpenSSL::PKey::PKey のサブクラスのインスタンス)
@raise OpenSSL::X509::RequestError 検証時にエラーが生じた場合に発生します
@see OpenSSL::X509::Request#sign... -
OpenSSL
:: X509 :: CRL # verify(key) -> bool (96364.0) -
発行者の公開鍵で CRL に記載されている署名を検証します。
...発行者の公開鍵で CRL に記載されている署名を検証します。
検証に成功した場合は true を返します。
@param key 公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::X509::CRLError 検証時にエラーが生じた場合に発生します... -
OpenSSL
:: X509 :: Certificate # verify(key) -> bool (96310.0) -
証明書の発行者の公開鍵で署名を検証します。
証明書の発行者の公開鍵で署名を検証します。
検証に成功した、すなわち self が key で署名されたことが
確認された場合に真を返します。
@param key 検証に利用する発行者の公開鍵 -
OpenSSL
:: X509 (88399.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
:: PKCS7 # verify(certs , store , indata = nil , flags = 0) -> bool (87562.0) -
署名を検証します。
...署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは......名の対象となった文字列を渡します。
nil を渡すと OpenSSL::PKCS7#data で得られる文字列
を用います。通常は nil を渡すべきです。
flags には以下の値の OR を渡します。
* OpenSSL::PKCS7::NOINTERN
メッセージに添付された証明書......* OpenSSL::PKCS7::TEXT
署名対象のデータに含まれる text/plain タイプの MIME ヘッダを取り除きます。
もしヘッダがない場合はエラーとなります。
* OpenSSL::PKCS7::NOVERIFY
署名者の証明書を検証しません。
* OpenSSL::PKCS... -
OpenSSL
:: OCSP :: BasicResponse # verify(certs , store , flags=0) -> bool (87454.0) -
署名を検証します。
...ます。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certific......ate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::X509::Store オブジェクト)
@param flags フラグ(整数)... -
OpenSSL
:: OCSP :: Request # verify(certs , store , flags=0) -> bool (87454.0) -
Request オブジェクトの署名を検証します。
...ます。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certific......ate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::X509::Store オブジェクト)
@param flags フラグ(整数)... -
OpenSSL
:: X509 :: Store # verify _ callback=(proc) (60526.0) -
検証をフィルタするコールバックを設定します。
...以下のように
proc{|ok, ctx| ... }
2つで、1つめは検証が成功したかの真偽値、
2つめは検証後の状態を保存した
OpenSSL::X509::StoreContext オブジェクトです。
このコールバックには2つの役割があります。1つ目はコンテキストオブジ......情報を得ることです。2つ目は検証をカスタマイズ
することです。このコールバックが true を返すと、たとえ
OpenSSL が検証失敗と判定しても、検証が成功したものと判断し証明書チェイン
の検証を続けます。逆に false を返......ォルトのコールバック(単に第一引数をそのまま返すだけ)
が使われます。
初期状態は nil です。
@param proc 設定する Proc オブジェクト
@see OpenSSL::X509::Store#verify_callback,
OpenSSL::X509::Store#verify,
OpenSSL::X509::StoreContext#verify... -
OpenSSL
:: X509 :: Store # verify _ callback -> Proc | nil (60364.0) -
オブジェクトに設定されている検証をフィルタするコールバックを 返します。
...オブジェクトに設定されている検証をフィルタするコールバックを
返します。
デフォルトのコールバックが設定されている場合には nil を返します。
@see OpenSSL::X509::Store#verify_callback=... -
OpenSSL
:: X509 :: V _ ERR _ UNABLE _ TO _ VERIFY _ LEAF _ SIGNATURE -> Integer (60310.0) -
証明書チェインにある証明書がただ一つでその証明書が 自己署名証明書でないことを意味します。
証明書チェインにある証明書がただ一つでその証明書が
自己署名証明書でないことを意味します。 -
OpenSSL
:: SSL :: SSLContext # verify _ callback=(proc) (51508.0) -
検証をフィルタするコールバックを設定します。
...検証をフィルタするコールバックを設定します。
OpenSSL::X509::Store#verify_callback= と同じ働きをします。
コールバックには Proc や Method を渡します。
渡されたコールバックオブジェクトは証明書チェインの検証時に
チェイン......す。
そのときに渡される引数は2つで、1つめは検証が成功したかの真偽値、
2つめは検証後の状態を保存した
OpenSSL::X509::StoreContext オブジェクトです。
このコールバックには2つの役割があります。1つ目はコンテキストオブ......情報を得ることです。2つ目は検証をカスタマイズ
することです。このコールバックが true を返すと、たとえ
OpenSSL が検証失敗と判定しても、検証が成功したものと判断し証明書チェイン
の検証を続けます。逆に false を返... -
OpenSSL
:: SSL :: SSLSocket # verify _ result -> Integer (51436.0) -
検証結果のエラーコードを整数値で返します。
...検証結果のエラーコードを整数値で返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。... -
OpenSSL
:: SSL :: SSLContext # verify _ callback -> Proc | nil (51400.0) -
オブジェクトに設定されている検証をフィルタするコールバックを 返します。
...オブジェクトに設定されている検証をフィルタするコールバックを
返します。
デフォルトのコールバックが設定されている場合には nil を返します。
@see OpenSSL::X509::Store#verify_callback,
OpenSSL::SSL::SSLContext#verify_callback=... -
OpenSSL
:: X509 :: StoreContext # current _ cert -> OpenSSL :: X509 :: Certificate (42811.0) -
直前に検証した証明書のオブジェクトを返します。
...ジェクトを返します。
OpenSSL::X509::StoreContext#verify で検証が失敗した場合は
証明書チェイン中で検証に失敗した証明書のオブジェクトを返します。
証明書チェインの各証明書検証後
コールバック(OpenSSL::X509::Store#verify_callback......=)呼び出しに
渡される StoreContext オブジェクトにこのメソッドを呼び出すと
直前に検証した証明書を返します。
OpenSSL::X509::StoreContext#verify を呼ぶ前に
このメソッドを呼ぶと空の OpenSSL::X509::Certificate を返します。... -
OpenSSL
:: X509 :: Store # chain -> [OpenSSL :: X509 :: Certificate] | nil (42793.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのルート CA までの証明書のチェインを返します。
...最後に OpenSSL::X509::Store#verify を呼び、
検証したときのルート CA までの証明書のチェインを返します。
証明書の順序は以下の通りです。
[証明書, 下位 CA 証明書, 中間 CA 証明書, ... , ルート CA 証明書]
verify を一度も呼びだ... -
OpenSSL
:: X509 :: StoreContext # chain -> [OpenSSL :: X509 :: Certificate] | nil (42763.0) -
検証に利用した証明書チェインを証明書オブジェクト (OpenSSL::X509::Certificateのインスタンス)の配列で返します。
...検証に利用した証明書チェインを証明書オブジェクト
(OpenSSL::X509::Certificateのインスタンス)の配列で返します。
OpenSSL::X509::StoreContext#verify を呼ぶ前は nil を返します。... -
OpenSSL
:: X509 :: StoreContext # current _ crl -> OpenSSL :: X509 :: CRL | nil (42667.0) -
直前に検証に利用した CRL のオブジェクトを返します。
...直前に検証に利用した CRL のオブジェクトを返します。
証明書チェインの各証明書検証後
コールバック(OpenSSL::X509::Store#verify_callback=)呼び出しに
渡される StoreContext オブジェクトにこのメソッドを呼び出すと
直前に検証に利... -
OpenSSL
:: X509 :: Store # purpose=(purpose) (42421.0) -
証明書の使用目的を設定します。
...ます。
* OpenSSL::X509::PURPOSE_ANY
* OpenSSL::X509::PURPOSE_CRL_SIGN
* OpenSSL::X509::PURPOSE_NS_SSL_SERVER
* OpenSSL::X509::PURPOSE_SMIME_ENCRYPT
* OpenSSL::X509::PURPOSE_SMIME_SIGN
* OpenSSL::X509::PURPOSE_SSL_CLIENT
* OpenSSL::X509::PURPOSE_SSL_SERVER
* OpenSSL::X509::PURPOSE_......OCSP_HELPER
この値は OpenSSL::X509::Store#verify で検証する場合に利用されます。
証明書に記載されている使用目的が適合していない場合には検証が失敗します。
OpenSSL::X509::StoreContext.new で証明書ストアコンテキストを
生成する場......合にはそのコンテキストにこの値がコピーされます。
@param purpose 証明書の使用目的を表す整数値
@see OpenSSL::X509::StoreContext#purpose=... -
OpenSSL
:: X509 :: StoreContext # error=(error) (42367.0) -
エラーコードを設定します。
...エラーコードを設定します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、このメソッド......こで設定したものになります。OpenSSL::X509::StoreContext#error_string
もその値に応じた文字列が返るようになります。
例:
require 'openssl'
store = OpenSSL::X509::Store.new
store.set_default_paths
cert = OpenSSL::X509::Certificate.new(...)
store.verify(c......ctx.error = OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION;
false} # => false
p store.error # => OpenSSL::X509::V_ERR_APPLICATION_VERIFICATION
p store.error_string # => "application verification failure"
@param error エラーコードの整数値
@see OpenSSL::X509::StoreContext#error... -
OpenSSL
:: X509 :: StoreContext # error -> Integer (42331.0) -
検証時のエラーコードを返します。
...検証時のエラーコードを返します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、このメ......ます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証の最終的な検証結果のエラーコードを返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verif......y_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。
@see OpenSSL::X509::Store#error... -
OpenSSL
:: X509 :: Store # error -> Integer | nil (42313.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのエラーコードを返します。
...に OpenSSL::X509::Store#verify を呼び、
検証したときのエラーコードを返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X... -
OpenSSL
:: X509 :: PURPOSE _ OCSP _ HELPER -> Integer (42235.0) -
OCSP関連でOpenSSLの内部的に利用されます。
...OCSP関連でOpenSSLの内部的に利用されます。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
確認します。... -
OpenSSL
:: X509 :: Store # flags=(flags) (42205.0) -
CRL に関するフラグを設定します。
...ら必要なものを選んで OR 取り、渡します。
* OpenSSL::X509::V_FLAG_CRL_CHECK
* OpenSSL::X509::V_FLAG_CRL_CHECK_ALL
このフラグは OpenSSL::X509::Store#verify で検証する場合に利用されます。
OpenSSL::X509::StoreContext.new で証明書ストアコンテキスト......を
生成する場合にはそのコンテキストにフラグがコピーされます。
デフォルトではフラグは設定されていません。
@param flags 設定するフラグ(整数値)
@see OpenSSL::X509::StoreContext#flags=... -
OpenSSL
:: X509 :: PURPOSE _ CRL _ SIGN -> Integer (42187.0) -
証明書が CRL の署名をするのに利用可能かを チェックすることを意味します。
...証明書が CRL の署名をするのに利用可能かを
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ NS _ SSL _ SERVER -> Integer (42187.0) -
証明書が Netscape SSL server の証明書として使えるか チェックすることを意味します。
...が
Netscape SSL server の証明書として使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ SMIME _ ENCRYPT -> Integer (42187.0) -
証明書が S/MIME の暗号化をするのに使えるか チェックすることを意味します。
...証明書が
S/MIME の暗号化をするのに使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ SMIME _ SIGN -> Integer (42187.0) -
証明書が S/MIME の署名をするのに使えるか チェックすることを意味します。
...証明書が
S/MIME の署名をするのに使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ SSL _ CLIENT -> Integer (42187.0) -
証明書が SSL のクライアントサイドの証明書として使えるか チェックすることを意味します。
...ライアントサイドの証明書として使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: PURPOSE _ SSL _ SERVER -> Integer (42187.0) -
証明書が SSL のサーバサイドの証明書として使えるか。 チェックすることを意味します。
...L のサーバサイドの証明書として使えるか。
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。... -
OpenSSL
:: X509 :: Store # error _ string -> String | nil (42187.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのエラー文字列を返します。
...最後に OpenSSL::X509::Store#verify を呼び、
検証したときのエラー文字列を返します。
検証に成功した場合は "ok" を返します。
verify を一度も呼びだしていない場合は nil を返します。
返り値は verify を呼ぶごとに更新されます... -
OpenSSL
:: X509 :: V _ ERR _ APPLICATION _ VERIFICATION -> Integer (42187.0) -
アプリケーションが利用するエラーコードです。
...ドです。
OpenSSL のライブラリでは使われないので、
アプリケーションプログラマが自由に利用することが可能です。
OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。
@see OpenSSL::X509::Stor......e#verify_callback=,
OpenSSL::X509::StoreContext#error=... -
OpenSSL
:: X509 :: StoreContext # error _ string -> String (42169.0) -
検証したときのエラー文字列を返します。
...検証したときのエラー文字列を返します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、......このメソッドを呼ぶと
直前の証明書検証結果のエラー文字列が得られます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証の最終的な検証結果のエラー文字列を返します。
検証に成功した場合... -
OpenSSL
:: X509 :: Request # sign(key , digest) -> self (42115.0) -
証明書署名要求に秘密鍵で署名をします。
...秘密鍵で署名されます。
@param key 秘密鍵(OpenSSL::PKey::PKey のサブクラスのオブジェクト)
@param digest ハッシュ関数を表す文字列("sha1" など)
@raise OpenSSL::X509::RequestError 署名に失敗した場合に発生します
@see OpenSSL::X509::Request#verify... -
OpenSSL
:: X509 :: StoreContext # error _ depth -> Integer (42115.0) -
エラーが起きた場所の深さを返します。
...と定義されいてます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証でエラーが起きた場所の深さを返します。
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)... -
OpenSSL
:: X509 :: V _ ERR _ CERT _ CHAIN _ TOO _ LONG -> Integer (42115.0) -
証明書チェインが長すぎることを意味します。
...証明書チェインが長すぎることを意味します。
OpenSSL::X509::Store#error や
OpenSSL::X509::StoreContext#error のエラーコードとして
使われます。
@see OpenSSL::SSL::SSLContext#verify_depth=... -
OpenSSL
:: X509 :: StoreContext (42097.0) -
証明書ストアコンテキストクラス。
...コンテキストクラス。
証明書ストア(OpenSSL::X509::Store)を利用して
実際の検証を行う機能を持ちます。
また、検証の途中の状態を保持するためにも使われます。
検証フィルター(OpenSSL::X509::Store#verify_proc)の
引数として渡され... -
OpenSSL
:: SSL :: SSLSocket (33097.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...