ライブラリ
-
net
/ http (6) -
net
/ imap (4) -
net
/ pop (3) -
net
/ smtp (2) - open-uri (2)
- openssl (72)
-
rubygems
/ security (15) -
rubygems
/ validator (2) -
webrick
/ ssl (2)
クラス
-
Gem
:: Security :: Policy (9) -
Gem
:: Validator (2) -
Net
:: HTTP (6) -
Net
:: IMAP (4) -
Net
:: POP3 (3) -
Net
:: SMTP (2) -
OpenSSL
:: Netscape :: SPKI (2) -
OpenSSL
:: OCSP :: BasicResponse (1) -
OpenSSL
:: OCSP :: Request (1) -
OpenSSL
:: PKCS7 (7) -
OpenSSL
:: PKey :: DSA (1) -
OpenSSL
:: PKey :: EC (2) -
OpenSSL
:: PKey :: PKey (1) -
OpenSSL
:: SSL :: SSLContext (7) -
OpenSSL
:: SSL :: SSLSocket (5) -
OpenSSL
:: X509 :: CRL (1) -
OpenSSL
:: X509 :: Certificate (1) -
OpenSSL
:: X509 :: Request (2) -
OpenSSL
:: X509 :: Store (9) -
OpenSSL
:: X509 :: StoreContext (8) -
WEBrick
:: GenericServer (1)
モジュール
-
Gem
:: Security (6) -
OpenSSL
:: OCSP (1) -
OpenSSL
:: SSL (4) -
OpenSSL
:: X509 (10) - OpenURI (2)
-
WEBrick
:: Config (1)
キーワード
- AlmostNoSecurity (1)
- DH (1)
- DSA (1)
- HighSecurity (1)
- LowSecurity (1)
- MediumSecurity (1)
- NOCHAIN (1)
- NOINTERN (1)
- NOSIGS (1)
- NOVERIFY (2)
- NoSecurity (1)
- OCSP (1)
- PKey (1)
-
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) - RSA (1)
- SSL (1)
- SSLContext (1)
- SSLSocket (1)
- StoreContext (1)
- TEXT (1)
-
VERIFY
_ CLIENT _ ONCE (1) -
VERIFY
_ FAIL _ IF _ NO _ PEER _ CERT (1) -
VERIFY
_ NONE (1) -
VERIFY
_ PEER (1) -
V
_ ERR _ APPLICATION _ VERIFICATION (1) -
V
_ ERR _ CERT _ CHAIN _ TOO _ LONG (1) -
V
_ ERR _ UNABLE _ TO _ VERIFY _ LEAF _ SIGNATURE (1) - X509 (1)
- accept (1)
-
accept
_ nonblock (1) - chain (2)
- connect (1)
-
connect
_ nonblock (1) -
current
_ cert (1) -
current
_ crl (1) -
drb
/ ssl (1) -
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) -
enable
_ ssl (2) - error (2)
- error= (1)
-
error
_ depth (1) -
error
_ string (3) - flags= (1)
- new (3)
-
open
_ uri (2) - purpose= (1)
-
rubygems
/ commands / check _ command (1) -
rubygems
/ security (1) -
set
_ params (1) - sign (2)
- start (2)
- starttls (2)
- sysverify (1)
-
verify
_ callback (3) -
verify
_ callback= (3) -
verify
_ chain (1) -
verify
_ chain= (1) -
verify
_ data (1) -
verify
_ data= (1) -
verify
_ depth (2) -
verify
_ depth= (2) -
verify
_ gem (2) -
verify
_ gem _ file (1) -
verify
_ mode (2) -
verify
_ mode= (2) -
verify
_ result (1) -
verify
_ root (1) -
verify
_ root= (1) -
verify
_ signer (1) -
verify
_ signer= (1) -
verify
_ trust _ dir (1)
検索結果
先頭5件
-
Net
:: POP3 . verify -> Integer|nil (54370.0) -
SSL のパラメータの verify_mode を返します。
SSL のパラメータの verify_mode を返します。
設定されていない場合は nil を返します。
@see OpenSSL::SSL::SSLContext#verify_mode -
OpenSSL
:: X509 :: Store # verify(cert , chain = nil) -> bool (54343.0) -
証明書を証明書ストアに存在する CA 証明書で検証します。
証明書を証明書ストアに存在する CA 証明書で検証します。
chain には検証したい証明書の証明書チェイン全体を
OpenSSL::X509::Certificate の配列で渡します。
検証に成功した場合は true を、失敗した場合は false を返します。
このメソッドをブロック付きで呼び出すと、そのブロックが
検証をフィルタするコールバックと見做されます。このコールバックについては
OpenSSL::X509::Store#verify_callback= を参照してください。
内部では OpenSSL::X509::StoreContext.new と
OpenSSL:... -
OpenSSL
:: X509 :: Store # verify(cert , chain = nil) {|ok , ctx| . . . } -> bool (54343.0) -
証明書を証明書ストアに存在する CA 証明書で検証します。
証明書を証明書ストアに存在する CA 証明書で検証します。
chain には検証したい証明書の証明書チェイン全体を
OpenSSL::X509::Certificate の配列で渡します。
検証に成功した場合は true を、失敗した場合は false を返します。
このメソッドをブロック付きで呼び出すと、そのブロックが
検証をフィルタするコールバックと見做されます。このコールバックについては
OpenSSL::X509::Store#verify_callback= を参照してください。
内部では OpenSSL::X509::StoreContext.new と
OpenSSL:... -
OpenSSL
:: Netscape :: SPKI # verify(key) -> bool (54304.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は true を返し、失敗した場合は false を返します。
@param key 署名に使う公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::Netscape::SPKIError 検証時にエラーが起きた場合に発生します
@see OpenSSL::Netscape::SPKI#sign -
OpenSSL
:: OCSP :: BasicResponse # verify(certs , store , flags=0) -> bool (54304.0) -
署名を検証します。
署名を検証します。
flagsには以下の値の OR を取ったものを渡します。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certificate オブジェクトの配列)
@param store 検証に用いる証明書ストア(OpenSSL::... -
OpenSSL
:: OCSP :: Request # verify(certs , store , flags=0) -> bool (54304.0) -
Request オブジェクトの署名を検証します。
Request オブジェクトの署名を検証します。
検証に成功した場合は真を返します。
flags には以下の値の OR を取ったものを渡します。
* OpenSSL::OCSP::TRUSTOTHER
* OpenSSL::OCSP::NOSIGS
* OpenSSL::OCSP::NOVERIFY
* OpenSSL::OCSP::NOINTERN
TRUSTOTHER を有効にすると certs で指定した証明書を検証せずに信頼します。
@param certs 検証に用いる追加的な証明書(OpenSSL::X509::Certificate オブジェクトの配列)
... -
OpenSSL
:: PKCS7 # verify(certs , store , indata = nil , flags = 0) -> bool (54304.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は真を、失敗した場合は偽を返します。
certs には署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは配列から適切な証明書を自動的に選択します。
store には検証に用いる証明書ストアを渡します。
検証に必要な信頼できる CA 証明書をあらかじめ証明書ストアに含めておく
必要があります。
indata は署名の対象となった... -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (54304.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
data を秘密鍵で署名したその署名文字列が sign
であることを公開鍵を使って検証し、検証に成功すれば true
を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で検証をする場合はハッシュ関数には "dss1" を指定してください。
検証に失敗した、つまり署名時と異なるハッシュ関数を使った、
sign が正しい署名でなかった場合などは false を返します。
@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対... -
OpenSSL
:: X509 :: CRL # verify(key) -> bool (54304.0) -
発行者の公開鍵で CRL に記載されている署名を検証します。
発行者の公開鍵で CRL に記載されている署名を検証します。
検証に成功した場合は true を返します。
@param key 公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::X509::CRLError 検証時にエラーが生じた場合に発生します -
OpenSSL
:: X509 :: Certificate # verify(key) -> bool (54304.0) -
証明書の発行者の公開鍵で署名を検証します。
証明書の発行者の公開鍵で署名を検証します。
検証に成功した、すなわち self が key で署名されたことが
確認された場合に真を返します。
@param key 検証に利用する発行者の公開鍵 -
OpenSSL
:: X509 :: Request # verify(key) -> bool (54304.0) -
署名を検証します。
署名を検証します。
検証に成功した場合には true を、失敗した場合には false を返します。
@param key 検証に利用する公開鍵(OpenSSL::PKey::PKey のサブクラスのインスタンス)
@raise OpenSSL::X509::RequestError 検証時にエラーが生じた場合に発生します
@see OpenSSL::X509::Request#sign -
OpenSSL
:: X509 :: StoreContext # verify -> bool (54304.0) -
証明書を検証します。
証明書を検証します。
OpenSSL::X509::StoreContext.new で設定した証明書を検証します。
検証に成功した場合は true を、失敗した場合は false を返します。
検証の詳細な情報は
* OpenSSL::X509::StoreContext#error
* OpenSSL::X509::StoreContext#error_string
* OpenSSL::X509::StoreContext#chain
* OpenSSL::X509::StoreContext#current_crl -
OpenSSL
:: SSL :: SSLContext # verify _ mode=(mode) (18412.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... -
Net
:: HTTP # verify _ callback=(proc) (18394.0) -
検証をフィルタするコールバックを設定します。
検証をフィルタするコールバックを設定します。
詳しくは OpenSSL::X509::Store#verify_callback= や
OpenSSL::SSL::SSLContext#verify_callback= を見てください。
@param proc 設定する Proc オブジェクト
@see Net::HTTP#verify_callback,
OpenSSL::X509::Store#verify_callback=,
OpenSSL::SSL::SSLContext#verify_callback= -
OpenSSL
:: SSL :: VERIFY _ PEER -> Integer (18388.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: サーバーはクライアントに証明書を要求します。
送られてきた証明書は検証されます。検証が失敗した場合、
TLS/SSL ハンドシェイクを即座に終了させます。
クライアントは要求を無視することも可能です。
OpenSSL::SSL::VERIFY_FAIL_IF_NO_PEER_CERT と同時に指定した場合は
クライアントが要求を無視した場合にはハンドシェイクを即座に停止します。
クライアントモ... -
Net
:: HTTP # verify _ mode=(mode) (18376.0) -
検証モードを設定します。
検証モードを設定します。
詳しくは OpenSSL::SSL::SSLContext#verify_mode を見てください。
クライアント側なので、
OpenSSL::SSL::VERIFY_NONE か OpenSSL::SSL::VERIFY_PEER
のいずれかを用います。
デフォルトは nil で、VERIFY_NONE を意味します。 -
OpenSSL
:: SSL :: VERIFY _ CLIENT _ ONCE -> Integer (18370.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: 最初の TLS/SSL ハンドシェイクの時だけクライアント
に証明書を要求します。このフラグは VERIFY_PEER フラグとともに
使われなければなりません。
クライアントモード: 無視されます。 -
OpenSSL
:: SSL :: VERIFY _ FAIL _ IF _ NO _ PEER _ CERT -> Integer (18370.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: クライアントが証明書を返さない場合に
TLS/SSL ハンドシェイクを即座に終了させます。
このフラグは VERIFY_PEER フラグとともに使われなければなりません。
クライアントモード: 無視されます。 -
OpenSSL
:: SSL :: VERIFY _ NONE -> Integer (18370.0) -
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
OpenSSL::SSL::SSLContext#verify_mode= で指定できるフラグです。
サーバーモードであるかクライアントモードであるかによって意味がことなります。
サーバーモード: クライアントに証明書を要求せず、クライアントは証明書を
送り返しません。
クライアントモード: サーバから受け取った証明書は検証されますが、失敗しても
ハンドシェイクは継続します。
ハンドシェイクの結果は OpenSSL::SSL::SSLSocket#verify_result で
取得できます。
このフラグは単独で用いられるべきです。 -
Net
:: HTTP # verify _ callback -> Proc (18358.0) -
自身に設定されている検証をフィルタするコールバックを 返します。
自身に設定されている検証をフィルタするコールバックを
返します。
デフォルトのコールバックが設定されている場合には nil を返します。
@see Net::HTTP#verify_callback=,
OpenSSL::X509::Store#verify_callback,
OpenSSL::SSL::SSLContext#verify_callback -
OpenSSL
:: SSL :: SSLContext # verify _ callback=(proc) (18358.0) -
検証をフィルタするコールバックを設定します。
検証をフィルタするコールバックを設定します。
OpenSSL::X509::Store#verify_callback= と同じ働きをします。
コールバックには Proc や Method を渡します。
渡されたコールバックオブジェクトは証明書チェインの検証時に
チェインに含まれる各証明書の署名を検証するたびに呼びだされます。
そのときに渡される引数は2つで、1つめは検証が成功したかの真偽値、
2つめは検証後の状態を保存した
OpenSSL::X509::StoreContext オブジェクトです。
このコールバックには2つの役割があります。1つ目はコンテキストオブジェクト
を調べること... -
OpenSSL
:: X509 :: Store # verify _ callback=(proc) (18358.0) -
検証をフィルタするコールバックを設定します。
検証をフィルタするコールバックを設定します。
コールバックには Proc や Method を渡します。
渡されたコールバックオブジェクトは証明書チェインの検証時に
チェインに含まれる各証明書の署名を検証するたびに呼びだされます。
そのときに渡される引数は以下のように
proc{|ok, ctx| ... }
2つで、1つめは検証が成功したかの真偽値、
2つめは検証後の状態を保存した
OpenSSL::X509::StoreContext オブジェクトです。
このコールバックには2つの役割があります。1つ目はコンテキストオブジェクト
を調べることで詳細なエラー情報を得ることです。2つ目... -
Net
:: HTTP # verify _ depth -> Integer (18340.0) -
証明書チェイン上の検証する最大の深さを返します。
証明書チェイン上の検証する最大の深さを返します。
@see Net::HTTP#verify_depth=, OpenSSL::SSL::SSLContext#verify_depth -
Net
:: HTTP # verify _ depth=(depth) (18340.0) -
証明書チェイン上の検証する最大の深さを設定します。
証明書チェイン上の検証する最大の深さを設定します。
デフォルトは nil で、この場合 OpenSSL のデフォルト値(9)が使われます。
@param depth 最大深さを表す整数
@see Net::HTTP#verify_depth, OpenSSL::SSL::SSLContext#verify_depth= -
OpenSSL
:: SSL :: SSLContext # verify _ callback -> Proc | nil (18340.0) -
オブジェクトに設定されている検証をフィルタするコールバックを 返します。
オブジェクトに設定されている検証をフィルタするコールバックを
返します。
デフォルトのコールバックが設定されている場合には nil を返します。
@see OpenSSL::X509::Store#verify_callback,
OpenSSL::SSL::SSLContext#verify_callback= -
OpenSSL
:: SSL :: SSLContext # verify _ depth -> Integer | nil (18322.0) -
証明書チェイン上の検証する最大の深さを返します。
証明書チェイン上の検証する最大の深さを返します。
デフォルトは nil です。
@see OpenSSL::SSL::SSLContext#verify_depth= -
OpenSSL
:: SSL :: SSLContext # verify _ depth=(depth) (18322.0) -
証明書チェイン上の検証する最大の深さを設定します。
証明書チェイン上の検証する最大の深さを設定します。
デフォルトは nil で、この場合 OpenSSL のデフォルト値(9)が使われます。
@param depth 最大深さを表す整数
@see OpenSSL::SSL::SSLContext#verify_depth -
OpenSSL
:: SSL :: SSLContext # verify _ mode -> Integer | nil (18322.0) -
検証モードを返します。
検証モードを返します。
デフォルトは nil です。
@see OpenSSL::SSL::SSLContext#verify_mode= -
OpenSSL
:: SSL :: SSLSocket # verify _ result -> Integer (18322.0) -
検証結果のエラーコードを整数値で返します。
検証結果のエラーコードを整数値で返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。 -
OpenSSL
:: X509 :: Store # verify _ callback -> Proc | nil (18322.0) -
オブジェクトに設定されている検証をフィルタするコールバックを 返します。
オブジェクトに設定されている検証をフィルタするコールバックを
返します。
デフォルトのコールバックが設定されている場合には nil を返します。
@see OpenSSL::X509::Store#verify_callback= -
OpenSSL
:: PKCS7 :: NOVERIFY -> Integer (18319.0) -
署名検証時に署名者の証明書の検証を行いません。
署名検証時に署名者の証明書の検証を行いません。
OpenSSL::PKCS7#verify で利用可能なフラグです。 -
Gem
:: Security . verify _ trust _ dir(path , perms) (18304.0) -
信頼するディレクトリが存在することを確認します。
信頼するディレクトリが存在することを確認します。
与えられたパスが存在する場合、ディレクトリであることを確認します。
そうでない場合は、ディレクトリを作成してパーミッションを変更します。
@param path 確認するパスを指定します。
@param perms ディレクトリを作成する場合のパーミッションを指定します。
@raise Gem::Security::Exception path がディレクトリでない場合に発生します。 -
Gem
:: Security :: Policy # verify _ chain -> bool (18304.0) -
この値が真である場合は、証明書チェーンを検証します。
この値が真である場合は、証明書チェーンを検証します。 -
Gem
:: Security :: Policy # verify _ chain=(flag) (18304.0) -
証明書チェーンを検証するかどうかを設定します。
証明書チェーンを検証するかどうかを設定します。
@param flag 真、または偽を指定します。 -
Gem
:: Security :: Policy # verify _ data -> bool (18304.0) -
この値が真である場合は、データを検証します。
この値が真である場合は、データを検証します。 -
Gem
:: Security :: Policy # verify _ data=(flag) (18304.0) -
データを検証するかどうかを設定します。
データを検証するかどうかを設定します。
@param flag 真、または偽を指定します。 -
Gem
:: Security :: Policy # verify _ gem(signature , data , chain , time = Time . now) -> Array (18304.0) -
与えられたデータを与えられた署名と証明書チェーンで検証します。
与えられたデータを与えられた署名と証明書チェーンで検証します。
@param signature 署名を指定します。
@param data 検証するデータを指定します。
@param chain 検証で使用する証明書チェーンを指定します。
@param time この時刻に有効であることを検証する。
@raise Gem::Security::Exception 検証に失敗した場合に発生します。 -
Gem
:: Security :: Policy # verify _ root -> bool (18304.0) -
この値が真である場合は、証明書チェーンのルートを検証します。
この値が真である場合は、証明書チェーンのルートを検証します。 -
Gem
:: Security :: Policy # verify _ root=(flag) (18304.0) -
証明書チェーンのルートを検証するかどうかを設定します。
証明書チェーンのルートを検証するかどうかを設定します。
@param flag 真、または偽を指定します。 -
Gem
:: Security :: Policy # verify _ signer -> bool (18304.0) -
この値が真である場合は、署名者を検証します。
この値が真である場合は、署名者を検証します。 -
Gem
:: Security :: Policy # verify _ signer=(flag) (18304.0) -
署名者を検証するかどうかを設定します。
署名者を検証するかどうかを設定します。
@param flag 真、または偽を指定します。 -
Gem
:: Validator # verify _ gem(gem _ data) -> () (18304.0) -
与えられた Gem ファイルの内容の MD5 チェックサムを検証します。
与えられた Gem ファイルの内容の MD5 チェックサムを検証します。
@param gem_data Gem ファイルの内容を文字列で指定します。
@raise Gem::VerificationError 空の Gem ファイルを指定した場合に発生します。
@raise Gem::VerificationError MD5 チェックサムが不正である場合に発生します。 -
Gem
:: Validator # verify _ gem _ file(gem _ path) -> () (18304.0) -
与えられた Gem ファイルのパスを使用して MD5 チェックサムを検証します。
与えられた Gem ファイルのパスを使用して MD5 チェックサムを検証します。
@param gem_path Gem ファイルのパスを指定します。
@raise Gem::VerificationError Gem ファイルが見つからなかった場合に発生します。 -
Net
:: HTTP # verify _ mode -> Integer | nil (18304.0) -
検証モードを返します。
検証モードを返します。
デフォルトは nil です。 -
OpenSSL
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (18304.0) -
公開鍵を用い、署名を ECDSA で検証します。
公開鍵を用い、署名を ECDSA で検証します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
検証に成功した場合は true を返します。
@param data 署名対象のデータ(文字列)
@param sig 署名データ(文字列)
@raise OpenSSL::PKey::ECError 署名の検証時にエラーが生じた場合に発生します
@see OpenSSL::PKey::EC#dsa_sign_asn1 -
OpenSSL
:: X509 :: V _ ERR _ UNABLE _ TO _ VERIFY _ LEAF _ SIGNATURE -> Integer (18304.0) -
証明書チェインにある証明書がただ一つでその証明書が 自己署名証明書でないことを意味します。
証明書チェインにある証明書がただ一つでその証明書が
自己署名証明書でないことを意味します。 -
OpenSSL
:: OCSP :: NOVERIFY -> Integer (18301.0) -
署名に使った鍵の証明書の検証を行わないことを意味します。
署名に使った鍵の証明書の検証を行わないことを意味します。 -
OpenSSL
:: PKey :: DSA # sysverify(data , sign) -> bool (18301.0) -
署名 sign と自身の公開鍵で data を検証します。
署名 sign と自身の公開鍵で data を検証します。
検証に成功した場合は真を返します。
sign に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PKey::DSAError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗した場合はこの
例外は発生しないことに... -
Net
:: IMAP . new(host , port = 143 , usessl = false , certs = nil , verify = true) -> Net :: IMAP (412.0) -
新たな Net::IMAP オブジェクトを生成し、指定したホストの 指定したポートに接続し、接続語の IMAP オブジェクトを返します。
新たな Net::IMAP オブジェクトを生成し、指定したホストの
指定したポートに接続し、接続語の IMAP オブジェクトを返します。
usessl が真ならば、サーバに繋ぐのに SSL/TLS を用います。
SSL/TLS での接続には OpenSSL と openssl が使える必要があります。
certs は利用する証明書のファイル名もしくは証明書があるディレクトリ名を
文字列で渡します。
certs に nil を渡すと、OpenSSL のデフォルトの証明書を使います。
verify は接続先を検証するかを真偽値で設定します。
真が OpenSSL::SSL::VERIFY_PE... -
Net
:: POP3 # enable _ ssl(verify _ or _ params={} , certs=nil) -> () (412.0) -
このインスタンスが SSL による通信を利用するように設定します。
このインスタンスが SSL による通信を利用するように設定します。
verify_or_params にハッシュを渡した場合には、接続時に生成される
OpenSSL::SSL::SSLContext オブジェクトの
OpenSSL::SSL::SSLContext#set_params に渡されます。
certs は無視されます。
verify_or_params がハッシュでない場合には、接続時に生成される
OpenSSL::SSL::SSLContext オブジェクトの
OpenSSL::SSL::SSLContext#set_params に
{ :verify_mode => ... -
Net
:: POP3 . enable _ ssl(verify _ or _ params={} , certs=nil) -> () (412.0) -
新しく生成する Net::POP3 オブジェクトが SSL による通信利用するように設定します。
新しく生成する Net::POP3 オブジェクトが
SSL による通信利用するように設定します。
verify_or_params にハッシュを渡した場合には、接続時に生成される
OpenSSL::SSL::SSLContext オブジェクトの
OpenSSL::SSL::SSLContext#set_params に渡されます。
certs は無視されます。
verify_or_params がハッシュでない場合には、接続時に生成される
OpenSSL::SSL::SSLContext オブジェクトの
OpenSSL::SSL::SSLContext#set_params に
{ :... -
Net
:: IMAP # starttls(certs , verify) -> Net :: IMAP :: TaggedResponse (376.0) -
STARTTLS コマンドを送って TLS のセッションを開始します。
STARTTLS コマンドを送って TLS のセッションを開始します。
options で openssl に渡すオプションを指定します。
OpenSSL::SSL::SSLContext#set_params の引数と同じ意味です。
互換性のため、certs で証明書or証明書ディレクトリのファイル名(文字列)、
verify で検証するかどうか(Net::IMAP::VERIFY_PEER、
Net::IMAP::VERIFY_NONEに対応します)を
指定することができます。
@param options SSL/TLS のオプション(Hash オブジェクト)
@param ce... -
Net
:: IMAP . new(host , options) -> Net :: IMAP (112.0) -
新たな Net::IMAP オブジェクトを生成し、指定したホストの 指定したポートに接続し、接続語の IMAP オブジェクトを返します。
新たな Net::IMAP オブジェクトを生成し、指定したホストの
指定したポートに接続し、接続語の IMAP オブジェクトを返します。
usessl が真ならば、サーバに繋ぐのに SSL/TLS を用います。
SSL/TLS での接続には OpenSSL と openssl が使える必要があります。
certs は利用する証明書のファイル名もしくは証明書があるディレクトリ名を
文字列で渡します。
certs に nil を渡すと、OpenSSL のデフォルトの証明書を使います。
verify は接続先を検証するかを真偽値で設定します。
真が OpenSSL::SSL::VERIFY_PE... -
OpenSSL
:: SSL :: SSLContext # set _ params(params) -> Hash (109.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
:: X509 :: Store # error -> Integer | nil (103.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのエラーコードを返します。
最後に OpenSSL::X509::Store#verify を呼び、
検証したときのエラーコードを返します。
エラーコードの整数値は OpenSSL::X509 に定数が定義されています。
詳しくは c:OpenSSL::X509#verify_error を見てください。
検証に成功した場合は OpenSSL::X509::V_OK を返します。
verify を一度も呼びだしていない場合は nil を返します。
返り値は verify を呼ぶごとに更新されます。 -
drb
/ ssl (91.0) -
DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
require 'drb/ssl'
obj = ''
DRb::DRbServer.new( 'drbssl://localhost:10000',
obj,
{:SSLCertName => [["CN","fqdn.example.com"]]})
DRb::DRbServer.new や DRb.#start_service が
"drbssl" スキームを受け入れるようになります。
また、D... -
OpenSSL
:: X509 :: Store # chain -> [OpenSSL :: X509 :: Certificate] | nil (85.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのルート CA までの証明書のチェインを返します。
最後に OpenSSL::X509::Store#verify を呼び、
検証したときのルート CA までの証明書のチェインを返します。
証明書の順序は以下の通りです。
[証明書, 下位 CA 証明書, 中間 CA 証明書, ... , ルート CA 証明書]
verify を一度も呼びだしていない場合は nil を返します。
返り値は verify を呼ぶごとに更新されます。 -
OpenSSL
:: X509 :: Store # error _ string -> String | nil (85.0) -
最後に OpenSSL::X509::Store#verify を呼び、 検証したときのエラー文字列を返します。
最後に OpenSSL::X509::Store#verify を呼び、
検証したときのエラー文字列を返します。
検証に成功した場合は "ok" を返します。
verify を一度も呼びだしていない場合は nil を返します。
返り値は verify を呼ぶごとに更新されます。 -
Net
:: IMAP # starttls(options) -> Net :: IMAP :: TaggedResponse (76.0) -
STARTTLS コマンドを送って TLS のセッションを開始します。
STARTTLS コマンドを送って TLS のセッションを開始します。
options で openssl に渡すオプションを指定します。
OpenSSL::SSL::SSLContext#set_params の引数と同じ意味です。
互換性のため、certs で証明書or証明書ディレクトリのファイル名(文字列)、
verify で検証するかどうか(Net::IMAP::VERIFY_PEER、
Net::IMAP::VERIFY_NONEに対応します)を
指定することができます。
@param options SSL/TLS のオプション(Hash オブジェクト)
@param ce... -
Gem
:: Security :: AlmostNoSecurity -> Gem :: Security :: Policy (73.0) -
ほとんどの検証を行わないポリシーです。
ほとんどの検証を行わないポリシーです。
署名されたデータの検証のみ行います。
このポリシーは何もしないよりはマシですが、ほとんど役に立たない上、
簡単に騙すことができるので、使用しないでください。
:verify_data => true,
:verify_signer => false,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false -
Gem
:: Security :: HighSecurity -> Gem :: Security :: Policy (73.0) -
高レベルのセキュリティポリシーです。
高レベルのセキュリティポリシーです。
署名された Gem のみインストール可能です。
ルート証明書のみを信頼して、全ての検証を行います。
ただし、信頼するように指定された証明書は信頼します。
このセキュリティポリシーはバイパスするのがものすごく困難です。
:verify_data => true,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => true,
:only_si... -
Gem
:: Security :: LowSecurity -> Gem :: Security :: Policy (73.0) -
低レベルのセキュリティのポリシーです。
低レベルのセキュリティのポリシーです。
署名されたデータと署名者の検証を行います。
このポリシーは何もしないよりはマシですが、ほとんど役に立たない上、
簡単に騙すことができるので、使用しないでください。
:verify_data => true,
:verify_signer => true,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false -
Gem
:: Security :: MediumSecurity -> Gem :: Security :: Policy (73.0) -
中レベルのセキュリティポリシーです。
中レベルのセキュリティポリシーです。
ルート証明書のみを信頼して、全ての検証を行います。
ただし、信頼するように指定された証明書は信頼します。
このポリシーは便利ですが、署名無しのパッケージを許可しているので、
邪悪な人物がパッケージの署名を単純に削除して検証をパスさせることができます。
:verify_data => true,
:verify_signer => true,
:verify_chain => true,
:verify_root => true,
:only_trusted => tr... -
Gem
:: Security :: NoSecurity -> Gem :: Security :: Policy (73.0) -
セキュリティなしのポリシーです。
セキュリティなしのポリシーです。
全ての検証を行いません。
:verify_data => false,
:verify_signer => false,
:verify_chain => false,
:verify_root => false,
:only_trusted => false,
:only_signed => false -
OpenSSL
:: X509 :: StoreContext # error -> Integer (73.0) -
検証時のエラーコードを返します。
検証時のエラーコードを返します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、このメソッドを呼ぶと
直前の証明書検証結果のエラーコードが得られます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証の最終的な検証結果のエラーコードを返します。
エラーコードの整数値は OpenSSL::X50... -
OpenSSL
:: X509 (55.0) -
OpenSSL の X509 証明書、CRL(証明書失効リスト)、 CSR(証明書署名要求)、証明書ストアなどに関するモジュールです。
OpenSSL の X509 証明書、CRL(証明書失効リスト)、
CSR(証明書署名要求)、証明書ストアなどに関するモジュールです。
===[a:verify_error] 検証時エラー定数
以下の定数は OpenSSL::X509::Store#error,
OpenSSL::X509::StoreContext#error,
OpenSSL::SSL::SSLSocket#verify_result
の返り値として用いられます。
V_OK はエラーなしを意味しています。
* OpenSSL::X509::V_OK
* OpenSSL::X509::V_ERR_AKID_SKI... -
OpenSSL
:: X509 :: StoreContext # current _ cert -> OpenSSL :: X509 :: Certificate (55.0) -
直前に検証した証明書のオブジェクトを返します。
直前に検証した証明書のオブジェクトを返します。
OpenSSL::X509::StoreContext#verify で検証が失敗した場合は
証明書チェイン中で検証に失敗した証明書のオブジェクトを返します。
証明書チェインの各証明書検証後
コールバック(OpenSSL::X509::Store#verify_callback=)呼び出しに
渡される StoreContext オブジェクトにこのメソッドを呼び出すと
直前に検証した証明書を返します。
OpenSSL::X509::StoreContext#verify を呼ぶ前に
このメソッドを呼ぶと空の OpenSSL::X509::Ce... -
OpenSSL
:: X509 :: StoreContext # error=(error) (55.0) -
エラーコードを設定します。
エラーコードを設定します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、このメソッドでエラーコードを
設定し、コールバックの返り値を false にすると、最終的なエラーコードが
ここで設定したものになります。OpenSSL::X509::StoreContext#error_string
もその値に応じた文字列が返るようになります。
例:
requi... -
OpenSSL
:: X509 :: StoreContext # error _ string -> String (55.0) -
検証したときのエラー文字列を返します。
検証したときのエラー文字列を返します。
OpenSSL::X509::StoreContext#verify を呼びだし、
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が呼び出され、
StoreContext オブジェクトが渡されますが、このメソッドを呼ぶと
直前の証明書検証結果のエラー文字列が得られます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証の最終的な検証結果のエラー文字列を返します。
検証に成功した場合は "ok" を返します... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (55.0) -
URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。
URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read
OpenURI.open_uri('http://www.example.com'){|... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) {|sio| . . . } -> nil (55.0) -
URI である文字列 name のリソースを取得して StringIO オブジェクト として返します。
URI である文字列 name のリソースを取得して StringIO オブジェクト
として返します。
ブロックを与えた場合は StringIO オブジェクトを引数としてブロックを
評価します。ブロックの終了時に StringIO は close されます。nil を返します。
require 'open-uri'
sio = OpenURI.open_uri('http://www.example.com')
p sio.last_modified
puts sio.read
OpenURI.open_uri('http://www.example.com'){|... -
WEBrick
:: Config :: SSL -> Hash (55.0) -
以下のほとんどの項目はサーバが保持する OpenSSL::SSL::SSLContext オブジェクト を設定するためのものです。詳しくは OpenSSL::SSL::SSLContext を参照して下さい。
以下のほとんどの項目はサーバが保持する OpenSSL::SSL::SSLContext オブジェクト
を設定するためのものです。詳しくは OpenSSL::SSL::SSLContext を参照して下さい。
: :ServerSoftware
サーバソフト名を設定する。デフォルトでは
"WEBrick/VERSION (Ruby/VERSION/RELEASE_DATE) OpenSSL/VERSION"。
: :SSLEnable
ssl を有効にするかどうかを設定します。
Ruby 1.8.2 まではデフォルトで true です。
Ruby 1.8.3 以降はデフ... -
OpenSSL
:: OCSP (37.0) -
OCSP(Online Certificate Status Protocol)を取り扱うための モジュールです。OCSP は 2560 で定義されています。
OCSP(Online Certificate Status Protocol)を取り扱うための
モジュールです。OCSP は 2560 で定義されています。
このモジュールは OCSP のリクエストとレスポンスを取り扱う
機能を持っています。
OCSP レスポンダと通信する機能はありません。ユーザが例えば
OCSP over http などを実装する必要があります。
=== 例
OCSP レスポンダにリクエストを送ってその返答を表示する
require 'openssl'
require 'net/http'
# ...
subject # 問い合わせ対象の証明書(Ce... -
OpenSSL
:: PKCS7 # error _ string -> String | nil (37.0) -
検証エラーの理由を表す文字列を返します。
検証エラーの理由を表す文字列を返します。
OpenSSL::PKCS7#verify で検証を
した場合のみ更新されます。
OpenSSL::PKCS7#verify で検証をする前は nil を返します。
検証に成功した場合は nil を返します。
@see OpenSSL::PKCS7#error_string= -
OpenSSL
:: PKey :: RSA (37.0) -
RSA 暗号鍵のクラスです。
RSA 暗号鍵のクラスです。
通常このクラスで利用するのは、
OpenSSL::PKey::RSA.generate, OpenSSL::PKey::RSA.new,
OpenSSL::PKey::RSA#public?, OpenSSL::PKey::RSA#private?,
OpenSSL::PKey::RSA#public_key, OpenSSL::PKey::RSA#to_text,
OpenSSL::PKey::RSA#to_pem, OpenSSL::PKey::RSA#to_der
のいずれかでしょう。これ以外のメソッドを利用するときは
RSA についてよく理解し、必要な場... -
OpenSSL
:: X509 :: PURPOSE _ CRL _ SIGN -> Integer (37.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 (37.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 _ OCSP _ HELPER -> Integer (37.0) -
OCSP関連でOpenSSLの内部的に利用されます。
OCSP関連でOpenSSLの内部的に利用されます。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
確認します。 -
OpenSSL
:: X509 :: PURPOSE _ SMIME _ ENCRYPT -> Integer (37.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 (37.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 (37.0) -
証明書が SSL のクライアントサイドの証明書として使えるか チェックすることを意味します。
証明書が
SSL のクライアントサイドの証明書として使えるか
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。 -
OpenSSL
:: X509 :: PURPOSE _ SSL _ SERVER -> Integer (37.0) -
証明書が SSL のサーバサイドの証明書として使えるか。 チェックすることを意味します。
証明書が
SSL のサーバサイドの証明書として使えるか。
チェックすることを意味します。
OpenSSL::X509::Store#purpose= や
OpenSSL::X509::StoreContext#purpose= で設定し、
OpenSSL::X509::Store#verify や
OpenSSL::X509::StoreContext#verify で
このことを確認します。 -
OpenSSL
:: X509 :: StoreContext # error _ depth -> Integer (37.0) -
エラーが起きた場所の深さを返します。
エラーが起きた場所の深さを返します。
検証対象の証明書は深さ0、その証明書を発行した CA の証明書は
深さ1、その CA の証明証を発行した上位の CA の証明書は深さ2、…
と定義されいてます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証でエラーが起きた場所の深さを返します。
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が検証時に
呼びだされ、StoreContext オブジェクトが渡されますが、そのオブジェクトに
対しこのメソッド... -
Net
:: SMTP . start(address , port = Net :: SMTP . default _ port , helo = & # 39;localhost& # 39; , user = nil , password = nil , authtype = DEFAULT _ AUTH _ TYPE) -> Net :: SMTP (19.0) -
新しい SMTP オブジェクトを生成し、サーバに接続し、セッションを開始します。
新しい SMTP オブジェクトを生成し、サーバに接続し、セッションを開始します。
以下と同じです。
require 'net/smtp'
Net::SMTP.new(address, port).start(helo, user, password, authtype)
このメソッドにブロックを与えた場合には、新しく作られた Net::SMTP オブジェクト
を引数としてそのブロックを呼び、ブロック終了時に自動的に接続を閉じます。
ブロックを与えなかった場合には新しく作られた Net::SMTP オブジェクトが
返されます。この場合終了時に Net::SMTP#finish ... -
Net
:: SMTP . start(address , port = Net :: SMTP . default _ port , helo = & # 39;localhost& # 39; , user = nil , password = nil , authtype = DEFAULT _ AUTH _ TYPE) {|smtp| . . . . } -> object (19.0) -
新しい SMTP オブジェクトを生成し、サーバに接続し、セッションを開始します。
新しい SMTP オブジェクトを生成し、サーバに接続し、セッションを開始します。
以下と同じです。
require 'net/smtp'
Net::SMTP.new(address, port).start(helo, user, password, authtype)
このメソッドにブロックを与えた場合には、新しく作られた Net::SMTP オブジェクト
を引数としてそのブロックを呼び、ブロック終了時に自動的に接続を閉じます。
ブロックを与えなかった場合には新しく作られた Net::SMTP オブジェクトが
返されます。この場合終了時に Net::SMTP#finish ... -
OpenSSL
:: Netscape :: SPKI # sign(key , digest) -> self (19.0) -
SPKI オブジェクトに署名をします。
SPKI オブジェクトに署名をします。
@param key 署名に使う秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest 署名に使うダイジェスト関数(文字列もしくは OpenSSL::Digest オブジェクト)
@raise OpenSSL::Netscape::SPKIError 署名に失敗した場合に発生します
@see OpenSSL::Netscape::SPKI#verify -
OpenSSL
:: PKCS7 :: NOCHAIN -> Integer (19.0) -
署名検証時に、メッセージに含まれる証明書を中間 CA として利用しません。
署名検証時に、メッセージに含まれる証明書を中間 CA として利用しません。
OpenSSL::PKCS7#verify で利用可能なフラグです。 -
OpenSSL
:: PKCS7 :: NOINTERN -> Integer (19.0) -
署名検証時に、署名者の証明書をメッセージに添付された証明書から探索しません。
署名検証時に、署名者の証明書をメッセージに添付された証明書から探索しません。
OpenSSL::PKCS7#verify でのみ利用可能なフラグです。 -
OpenSSL
:: PKCS7 :: NOSIGS -> Integer (19.0) -
署名の検証を行いません。
署名の検証を行いません。
OpenSSL::PKCS7#verify で利用可能なフラグです。 -
OpenSSL
:: PKCS7 :: TEXT -> Integer (19.0) -
text/plain タイプの MIME ヘッダーを取り扱います。
text/plain タイプの MIME ヘッダーを取り扱います。
OpenSSL::PKCS7.sign, OpenSSL::PKCS7.write_smime,
OpenSSL::PKCS7#verify,
OpenSSL::PKCS7.encrypt, OpenSSL::PKCS7#decrypt
で利用可能なフラグです。 -
OpenSSL
:: PKey :: DH (19.0) -
Diffie-Hellman 鍵共有クラス
Diffie-Hellman 鍵共有クラス
Diffie-Hellman 鍵共有プロトコルは署名ができないため、
OpenSSL::PKey::PKey#sign や OpenSSL::PKey::PKey#verify
を呼び署名や署名の検証を行おうとすると例外
OpenSSL::PKey::PKeyError が発生します。
Diffie-Hellman はこのライブラリでは基本的には鍵共有にしか利用できません。
=== 例
鍵共有の例。
require 'openssl'
# パラメータの生成
dh = OpenSSL::PKey::DH.generate(10... -
OpenSSL
:: PKey :: DSA (19.0) -
DSA 公開鍵暗号クラス
DSA 公開鍵暗号クラス
実際には、DSA は署名のためのアルゴリズムであり、暗号化はできません。
以下は、data に署名し、署名をもとに data を検証する簡単な例です。
require "openssl"
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
sign = dsa512.sign('dss1', data)
p dsa512.verify('dss1', sign, data) -
OpenSSL
:: PKey :: EC # dsa _ sign _ asn1(data) -> String (19.0) -
秘密鍵を用い、data に ECDSA で署名します。
秘密鍵を用い、data に ECDSA で署名します。
結果は文字列として返します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1 -
OpenSSL
:: PKey :: PKey (19.0) -
公開鍵暗号のための抽象クラスです。
公開鍵暗号のための抽象クラスです。
以下のサブクラスを持ちます。
* OpenSSL::PKey::RSA
* OpenSSL::PKey::DSA
* OpenSSL::PKey::DH
* OpenSSL::PKey::EC
例:
require "openssl"
# 署名用の鍵を新規作成
dsa512 = OpenSSL::PKey::DSA.new(512)
data = 'hoge'
# 署名
sign = dsa512.sign("dss1", data)
# 署名の検証
p dsa512.verify(dss1, sign,... -
OpenSSL
:: SSL :: SSLContext (19.0) -
SSL コンテキストクラス。
SSL コンテキストクラス。
SSL コネクション(OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer)
オブジェクトを生成するためのファクトリクラスです。
コネクションを生成するために必要なパラメータ(プロトコルのバージョン、
証明書の情報、認証の要件など)を保持します。
コネクションを1度生成して以降は、コンテキストが保持しているパラメータを
変更できません。一部のパラメータが共有されるため、安全性のため
Object#freeze によってオブジェクトを変更不可能にします。
ただしこの凍結は完全ではなく、
この後もセッション管理機能によ... -
OpenSSL
:: SSL :: SSLSocket (19.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 # accept -> self (19.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 (19.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S... -
OpenSSL
:: SSL :: SSLSocket # connect -> self (19.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 (19.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::S...