種類
- インスタンスメソッド (10)
- 特異メソッド (5)
- クラス (2)
クラス
キーワード
- RSA (1)
- SSLSocket (1)
- ciphers (1)
-
client
_ cert _ cb= (1) - context (1)
- error= (1)
-
renegotiation
_ cb= (1) -
session
_ new _ cb (1) -
session
_ new _ cb= (1) -
set
_ params (1) -
ssl
_ version= (1) - verify (1)
-
write
_ smime (1)
検索結果
先頭5件
- OpenSSL
:: X509 :: StoreContext . new(store , cert , chain=nil) -> OpenSSL :: X509 :: StoreContext - OpenSSL
:: SSL :: SSLContext . new -> OpenSSL :: SSL :: SSLContext - OpenSSL
:: SSL :: SSLContext . new(ssl _ method) -> OpenSSL :: SSL :: SSLContext - OpenSSL
:: SSL :: SSLSocket . new(socket , context) -> OpenSSL :: SSL :: SSLSocket - OpenSSL
:: SSL :: SSLContext # session _ new _ cb=(cb)
-
OpenSSL
:: X509 :: StoreContext . new(store , cert , chain=nil) -> OpenSSL :: X509 :: StoreContext (97003.0) -
証明書ストアコンテキストを生成します。
...CA 証明書を含む OpenSSL::X509::Store
オブジェクトを渡します。 cert は検証対象の証明書、chain は
中間 CA 証明書チェインを証明書の配列で渡します。
@param store ルート CA 群を持っている証明書ストア
(OpenSSL::X509::Store オブ......ジェクト)
@param cert 検証対象となる証明書(OpenSSL::X509::Certificate オブジェクト)
@param chain 検証に利用する証明書チェイン
(OpenSSL::X509::Certificate オブジェクトの配列)
@raise OpenSSL::X509::StoreError コンテキストの生成に失敗した... -
OpenSSL
:: SSL :: SSLContext . new -> OpenSSL :: SSL :: SSLContext (96973.0) -
SSL コンテキストオブジェクトを生成します。
...効化して SSLv3 と TLSv1 の両方を有効化するためには
'SSLv23' を指定し、OpenSSL::SSL::SSLContext#options= で
OpenSSL::SSL::OP_NO_SSLv2 を指定します。
@param ssl_method プロトコルを表す文字列もしくはシンボル
@see OpenSSL::SSL::SSLContext#ssl_version=... -
OpenSSL
:: SSL :: SSLContext . new(ssl _ method) -> OpenSSL :: SSL :: SSLContext (96973.0) -
SSL コンテキストオブジェクトを生成します。
...効化して SSLv3 と TLSv1 の両方を有効化するためには
'SSLv23' を指定し、OpenSSL::SSL::SSLContext#options= で
OpenSSL::SSL::OP_NO_SSLv2 を指定します。
@param ssl_method プロトコルを表す文字列もしくはシンボル
@see OpenSSL::SSL::SSLContext#ssl_version=... -
OpenSSL
:: SSL :: SSLSocket . new(socket , context) -> OpenSSL :: SSL :: SSLSocket (87991.0) -
socket をラップして SSLSocket オブジェクトを生成します。
...TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。
context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。
@para......m socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL::SSL::SSLError オブジェクトの生成に失敗した場合に発生します... -
OpenSSL
:: SSL :: SSLContext # session _ new _ cb=(cb) (60400.0) -
新たなセッションが作られたときに呼び出されるコールバックを 指定します。
...ト(OpenSSL::SSL::SSLSocket), 新たなセッション(OpenSSL::SSL::Session)]
という配列です。
セッションキャッシュについて詳しくは OpenSSL::SSL::Session を
見てください。
@param cb コールバックオブジェクト(Proc もしくは Method)
@see OpenSSL::SSL:... -
OpenSSL
:: SSL :: SSLContext # session _ new _ cb -> Proc | nil (60346.0) -
セッションが生成されたときに呼び出されるコールバックを返します。
...セッションが生成されたときに呼び出されるコールバックを返します。
設定されていないときは nil を返します。
@see OpenSSL::SSL::SSLContext#session_new_cb=... -
OpenSSL
:: SSL :: SSLSocket # context -> OpenSSL :: SSL :: SSLContext (51946.0) -
SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。
...SSLSocket オブジェクトを生成する時に渡されたコンテクストを返します。
@see OpenSSL::SSL::SSLSocket.new... -
OpenSSL
:: SSL :: SSLContext # set _ params(params) -> Hash (42403.0) -
パラメータをハッシュで設定します。
...(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 (OpenSSL::SSL::SSLContext#ca_path=)
* :timeout (OpenSSL::SSL::SSLContext#timeout=)
* :verify_mode (OpenSSL:......rify_mode=)
* :verify_depth (OpenSSL::SSL::SSLContext#verify_depth=)
* :verify_callback (OpenSSL::SSL::SSLContext#verify_callback=)
* :options (OpenSSL::SSL::SSLContext#options=)
* :cert_store (OpenSSL::SSL::SSLContext#cert_store=)
* :extra_chain_cert (OpenSSL::SSL::SSLContext#extra_chain_......p_dh_callback (OpenSSL::SSL::SSLContext#tmp_dh_callback=)
* :session_id_context (OpenSSL::SSL::SSLContext#session_id_context=)
* :session_get_cb (OpenSSL::SSL::SSLContext#session_get_cb=)
* :session_new_cb (OpenSSL::SSL::SSLContext#session_new_cb=)
* :session_remove_cb (OpenSSL::SSL::SSLCont... -
OpenSSL
:: X509 :: StoreContext # error=(error) (42205.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
:: SSL :: SSLContext # client _ cert _ cb=(cb) (42199.0) -
OpenSSL::SSL::SSLContext#cert= でクライアント証明書を セットしていなかった場合にサーバからクライアント証明書の要求が来たときに 呼びだされるコールバックオブジェクトを設定します。
...OpenSSL::SSL::SSLContext#cert= でクライアント証明書を
セットしていなかった場合にサーバからクライアント証明書の要求が来たときに
呼びだされるコールバックオブジェクトを設定します。
コールバックに渡される引数は以下......している OpenSSL::SSL::SSLSocket
オブジェクトが渡されます。そのオブジェクトから必要な証明書を見つけるのに
必要な情報を取得します。
コールバックはクライアント証明書(OpenSSL::X509::Certificate)
とその秘密鍵(OpenSSL::PKey::PKey)......のコールバック内で例外が発生すると、適当な証明書が見付からなかったと
判断されます。このとき例外は OpenSSL のライブラリによって握り潰されて
しまいます。
デフォルトは nil で、コールバックなしを意味します。こ... -
OpenSSL
:: X509 :: StoreContext # verify -> bool (42115.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
:: SSL :: SSLContext # ciphers -> [[String , String , Integer , Integer]] (42061.0) -
利用可能な共通鍵暗号の種類を配列で返します。
...の文字列, 利用可能なSSL/TLSのバージョン文字列, 鍵長(ビット数), アルゴリズムのビット長]
例:
require 'openssl'
ctx = OpenSSL::SSL::SSLContext.new('TLSv1')
ctx.ciphers
# => [["DHE-RSA-AES256-SHA", "TLSv1/SSLv3", 256, 256],
# ["DHE-DSS-AES256-SHA", "TLS... -
OpenSSL
:: SSL :: SSLContext # renegotiation _ cb=(cb) (42061.0) -
@todo
...@todo
ハンドシェイク開始時に呼び出されるコールバックを設定します。
コールバックには OpenSSL::SSL::SSLSocket オブジェクトが
渡されます。
このコールバック内で何らかの例外が生じた場合には
以降のSSLの処理を停止しま......す。
num_handshakes = 0
ctx.renegotiation_cb = lambda do |ssl|
num_handshakes += 1
raise RuntimeError.new("Client renegotiation disabled") if num_handshakes > 1
end
@param cb コールバック(Proc, Method など)もしくは nil
@see OpenSSL::SSL::SSLContext#renegotiation_cb... -
OpenSSL
:: SSL :: SSLContext # ssl _ version=(ver) (42043.0) -
利用するプロトコルの種類を文字列もしくは シンボルで指定します。
...利用するプロトコルの種類を文字列もしくは
シンボルで指定します。
OpenSSL::SSL::SSLContext.new で指定できるものと同じです。
@param ver 利用するプロトコルの種類... -
OpenSSL
:: PKCS7 . write _ smime(p7sig , data=nil , flags = 0) -> String (33295.0) -
PKCS7 オブジェクトから S/MIME 形式の文字列を返します。
...l を渡すと OpenSSL::PKCS7#data で得られる
文字列を用います。通常は nil を渡してください。
flags には以下の定数の or を渡します。
* OpenSSL::PKCS7::DETACHED
クリア署名をします。これは OpenSSL::PKCS7.sign で
OpenSSL::PKCS7::DETAC......。
* OpenSSL::PKCS7::TEXT
MIME ヘッダに text/plain を付加します。
これは OpenSSL::PKCS7.sign で
OpenSSL::PKCS7::DETACHED を渡した場合にのみ意味を持ちます。
例:
require 'openssl'
data = "foobar"
p7 = OpenSSL::PKCS7.sign( OpenSSL::X509::Ce......ert.pem')),
OpenSSL::PKey::RSA.new(File.read('privkey.pem')),
data)
smime = PKCS7.write_smime(p7)
@param p7sig PKCS#7 オブジェクト
@param data 署名されたデータ文字列
@param flags フラグ(整数値)
@raise OpenSSL::PKCS::PK... -
OpenSSL
:: PKey :: RSA (33277.0) -
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
のいずれかでしょう。......ついてよく理解し、必要な場合のみにすべきです。
例:
require 'openssl'
# initialize random seed
OpenSSL::Random.seed(File.read("/dev/random", 16))
# 鍵対を生成
rsa = OpenSSL::PKey::RSA.generate(2048)
# 秘密鍵をAES256で暗号化して private_key.pem に......PEM 形式で保存
passphrase = "!secret passphrase!"
File.open("private_key.pem", "w") do |f|
f.write(rsa.export(OpenSSL::Cipher.new("aes256"), passphrase))
end
# 公開鍵をpublic_key.pemに保存
public_key = rsa.public_key
File.open("public_key.pem", "w") do |f|
f.write(pu... -
OpenSSL
:: SSL :: SSLSocket (33115.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...