種類
- インスタンスメソッド (19)
- 特異メソッド (5)
- クラス (2)
- モジュール (1)
ライブラリ
-
net
/ smtp (2) - open-uri (2)
- openssl (19)
-
rubygems
/ security (2) -
rubygems
/ validator (2)
クラス
-
Gem
:: Security :: Policy (1) -
Gem
:: Validator (2) -
Net
:: SMTP (2) -
OpenSSL
:: Netscape :: SPKI (2) -
OpenSSL
:: PKCS7 (1) -
OpenSSL
:: PKey :: DSA (1) -
OpenSSL
:: PKey :: EC (2) -
OpenSSL
:: PKey :: PKey (1) -
OpenSSL
:: SSL :: SSLSocket (4) -
OpenSSL
:: X509 :: CRL (1) -
OpenSSL
:: X509 :: Request (2) -
OpenSSL
:: X509 :: Store (2)
モジュール
-
Gem
:: Security (1) - OpenURI (2)
キーワード
- DH (1)
- OCSP (1)
- SSLSocket (1)
- accept (1)
-
accept
_ nonblock (1) - connect (1)
-
connect
_ nonblock (1) -
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) -
open
_ uri (2) - sign (2)
- start (2)
- sysverify (1)
-
verify
_ gem (2) -
verify
_ gem _ file (1) -
verify
_ trust _ dir (1)
検索結果
先頭5件
-
OpenSSL
:: X509 :: Store # verify(cert , chain = nil) -> bool (54361.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 (54361.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 (54322.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は true を返し、失敗した場合は false を返します。
@param key 署名に使う公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::Netscape::SPKIError 検証時にエラーが起きた場合に発生します
@see OpenSSL::Netscape::SPKI#sign -
OpenSSL
:: PKCS7 # verify(certs , store , indata = nil , flags = 0) -> bool (54322.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は真を、失敗した場合は偽を返します。
certs には署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは配列から適切な証明書を自動的に選択します。
store には検証に用いる証明書ストアを渡します。
検証に必要な信頼できる CA 証明書をあらかじめ証明書ストアに含めておく
必要があります。
indata は署名の対象となった... -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (54322.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 (54322.0) -
発行者の公開鍵で CRL に記載されている署名を検証します。
発行者の公開鍵で CRL に記載されている署名を検証します。
検証に成功した場合は true を返します。
@param key 公開鍵(OpenSSL::PKey::PKey オブジェクト)
@raise OpenSSL::X509::CRLError 検証時にエラーが生じた場合に発生します -
OpenSSL
:: X509 :: Request # verify(key) -> bool (54322.0) -
署名を検証します。
署名を検証します。
検証に成功した場合には true を、失敗した場合には false を返します。
@param key 検証に利用する公開鍵(OpenSSL::PKey::PKey のサブクラスのインスタンス)
@raise OpenSSL::X509::RequestError 検証時にエラーが生じた場合に発生します
@see OpenSSL::X509::Request#sign -
Gem
:: Validator # verify _ gem(gem _ data) -> () (18340.0) -
与えられた Gem ファイルの内容の MD5 チェックサムを検証します。
与えられた Gem ファイルの内容の MD5 チェックサムを検証します。
@param gem_data Gem ファイルの内容を文字列で指定します。
@raise Gem::VerificationError 空の Gem ファイルを指定した場合に発生します。
@raise Gem::VerificationError MD5 チェックサムが不正である場合に発生します。 -
Gem
:: Security . verify _ trust _ dir(path , perms) (18322.0) -
信頼するディレクトリが存在することを確認します。
信頼するディレクトリが存在することを確認します。
与えられたパスが存在する場合、ディレクトリであることを確認します。
そうでない場合は、ディレクトリを作成してパーミッションを変更します。
@param path 確認するパスを指定します。
@param perms ディレクトリを作成する場合のパーミッションを指定します。
@raise Gem::Security::Exception path がディレクトリでない場合に発生します。 -
Gem
:: Security :: Policy # verify _ gem(signature , data , chain , time = Time . now) -> Array (18322.0) -
与えられたデータを与えられた署名と証明書チェーンで検証します。
与えられたデータを与えられた署名と証明書チェーンで検証します。
@param signature 署名を指定します。
@param data 検証するデータを指定します。
@param chain 検証で使用する証明書チェーンを指定します。
@param time この時刻に有効であることを検証する。
@raise Gem::Security::Exception 検証に失敗した場合に発生します。 -
Gem
:: Validator # verify _ gem _ file(gem _ path) -> () (18322.0) -
与えられた Gem ファイルのパスを使用して MD5 チェックサムを検証します。
与えられた Gem ファイルのパスを使用して MD5 チェックサムを検証します。
@param gem_path Gem ファイルのパスを指定します。
@raise Gem::VerificationError Gem ファイルが見つからなかった場合に発生します。 -
OpenSSL
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (18322.0) -
公開鍵を用い、署名を ECDSA で検証します。
公開鍵を用い、署名を ECDSA で検証します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
検証に成功した場合は true を返します。
@param data 署名対象のデータ(文字列)
@param sig 署名データ(文字列)
@raise OpenSSL::PKey::ECError 署名の検証時にエラーが生じた場合に発生します
@see OpenSSL::PKey::EC#dsa_sign_asn1 -
OpenSSL
:: PKey :: DSA # sysverify(data , sign) -> bool (18319.0) -
署名 sign と自身の公開鍵で data を検証します。
署名 sign と自身の公開鍵で data を検証します。
検証に成功した場合は真を返します。
sign に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PKey::DSAError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗した場合はこの
例外は発生しないことに... -
Net
:: SMTP . start(address , port = Net :: SMTP . default _ port , helo = & # 39;localhost& # 39; , user = nil , password = nil , authtype = DEFAULT _ AUTH _ TYPE) -> Net :: SMTP (109.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 (109.0) -
新しい SMTP オブジェクトを生成し、サーバに接続し、セッションを開始します。
新しい SMTP オブジェクトを生成し、サーバに接続し、セッションを開始します。
以下と同じです。
require 'net/smtp'
Net::SMTP.new(address, port).start(helo, user, password, authtype)
このメソッドにブロックを与えた場合には、新しく作られた Net::SMTP オブジェクト
を引数としてそのブロックを呼び、ブロック終了時に自動的に接続を閉じます。
ブロックを与えなかった場合には新しく作られた Net::SMTP オブジェクトが
返されます。この場合終了時に Net::SMTP#finish ... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (109.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 (109.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'){|... -
OpenSSL
:: OCSP (73.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
:: SSL :: SSLSocket # accept _ nonblock -> self (55.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (55.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::S... -
OpenSSL
:: Netscape :: SPKI # sign(key , digest) -> self (37.0) -
SPKI オブジェクトに署名をします。
SPKI オブジェクトに署名をします。
@param key 署名に使う秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest 署名に使うダイジェスト関数(文字列もしくは OpenSSL::Digest オブジェクト)
@raise OpenSSL::Netscape::SPKIError 署名に失敗した場合に発生します
@see OpenSSL::Netscape::SPKI#verify -
OpenSSL
:: PKey :: DH (37.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 :: EC # dsa _ sign _ asn1(data) -> String (37.0) -
秘密鍵を用い、data に ECDSA で署名します。
秘密鍵を用い、data に ECDSA で署名します。
結果は文字列として返します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1 -
OpenSSL
:: SSL :: SSLSocket (37.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 (37.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 (37.0) -
TLS/SSl 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
TLS/SSl 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#accept,
OpenSSL::SSL::SSLSocket#connect_nonblock -
OpenSSL
:: X509 :: Request # sign(key , digest) -> self (37.0) -
証明書署名要求に秘密鍵で署名をします。
証明書署名要求に秘密鍵で署名をします。
通常、証明書署名要求は申請者の秘密鍵で署名されます。
@param key 秘密鍵(OpenSSL::PKey::PKey のサブクラスのオブジェクト)
@param digest ハッシュ関数を表す文字列("sha1" など)
@raise OpenSSL::X509::RequestError 署名に失敗した場合に発生します
@see OpenSSL::X509::Request#verify