種類
- インスタンスメソッド (12)
- 特異メソッド (2)
- クラス (2)
- 文書 (1)
クラス
モジュール
- OpenURI (2)
キーワード
- DH (1)
- DSA (1)
-
NEWS for Ruby 3
. 0 . 0 (1) -
dsa
_ sign _ asn1 (1) -
dsa
_ verify _ asn1 (1) -
error
_ depth (1) -
open
_ uri (2) - sign (2)
- sysverify (1)
-
verify
_ depth (1) -
verify
_ depth= (1) -
verify
_ mode (1) -
verify
_ mode= (1)
検索結果
先頭5件
-
OpenSSL
:: PKCS7 # verify(certs , store , indata = nil , flags = 0) -> bool (63604.0) -
署名を検証します。
署名を検証します。
検証に成功した場合は真を、失敗した場合は偽を返します。
certs には署名者の証明書を含む配列を渡します。
通常 S/MIME 署名には証明者の証明書が含まれていますが、
OpenSSL::PKCS7.sign で OpenSSL::PKCS7::NOCERTS を渡した
場合には含まれていないので、明示的に渡す必要があります。
このメソッドは配列から適切な証明書を自動的に選択します。
store には検証に用いる証明書ストアを渡します。
検証に必要な信頼できる CA 証明書をあらかじめ証明書ストアに含めておく
必要があります。
indata は署名の対象となった... -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (63604.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
data を秘密鍵で署名したその署名文字列が sign
であることを公開鍵を使って検証し、検証に成功すれば true
を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で検証をする場合はハッシュ関数には "dss1" を指定してください。
検証に失敗した、つまり署名時と異なるハッシュ関数を使った、
sign が正しい署名でなかった場合などは false を返します。
@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対... -
OpenSSL
:: SSL :: SSLContext # verify _ mode=(mode) (46012.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... -
OpenSSL
:: SSL :: SSLContext # verify _ depth=(depth) (45922.0) -
証明書チェイン上の検証する最大の深さを設定します。
証明書チェイン上の検証する最大の深さを設定します。
デフォルトは nil で、この場合 OpenSSL のデフォルト値(9)が使われます。
@param depth 最大深さを表す整数
@see OpenSSL::SSL::SSLContext#verify_depth -
OpenSSL
:: SSL :: SSLContext # verify _ depth -> Integer | nil (45622.0) -
証明書チェイン上の検証する最大の深さを返します。
証明書チェイン上の検証する最大の深さを返します。
デフォルトは nil です。
@see OpenSSL::SSL::SSLContext#verify_depth= -
OpenSSL
:: SSL :: SSLContext # verify _ mode -> Integer | nil (45622.0) -
検証モードを返します。
検証モードを返します。
デフォルトは nil です。
@see OpenSSL::SSL::SSLContext#verify_mode= -
OpenSSL
:: PKey :: EC # dsa _ verify _ asn1(data , sig) -> bool (45604.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 (36601.0) -
署名 sign と自身の公開鍵で data を検証します。
署名 sign と自身の公開鍵で data を検証します。
検証に成功した場合は真を返します。
sign に OpenSSL::PKey::DSA#syssign が返す DER 形式の文字列
を渡さなければなりません。
data は適切なハッシュ関数で計算されたダイジェストであると仮定
しています。
@param data 検証対象の文字列
@param sign 署名文字列
@raise OpenSSL::PKey::DSAError 検証時にエラーが起きた場合に発生します。
正しい署名でなかった場合など、検証に失敗した場合はこの
例外は発生しないことに... -
OpenURI
. open _ uri(name , mode = & # 39;r& # 39; , perm = nil , options = {}) -> StringIO (27769.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 (27769.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
:: X509 :: StoreContext # error _ depth -> Integer (27337.0) -
エラーが起きた場所の深さを返します。
エラーが起きた場所の深さを返します。
検証対象の証明書は深さ0、その証明書を発行した CA の証明書は
深さ1、その CA の証明証を発行した上位の CA の証明書は深さ2、…
と定義されいてます。
OpenSSL::X509::StoreContext#verify を呼び出したあと、
このメソッドを呼ぶと検証でエラーが起きた場所の深さを返します。
証明書チェインの各証明書を検証した
コールバック(OpenSSL::X509::Store#verify_callback=)が検証時に
呼びだされ、StoreContext オブジェクトが渡されますが、そのオブジェクトに
対しこのメソッド... -
OpenSSL
:: PKey :: EC # dsa _ sign _ asn1(data) -> String (27319.0) -
秘密鍵を用い、data に ECDSA で署名します。
秘密鍵を用い、data に ECDSA で署名します。
結果は文字列として返します。
data のダイジェストを取る処理はこのメソッドに含まれていません。
自身で適当なダイジェストを取る必要があります。
@param data 署名対象のデータ(文字列)
@raise OpenSSL::PKey::ECError EC オブジェクトが秘密鍵を保持していない場合、
もしくは署名に失敗した場合に発生します
@see OpenSSL::PKey::EC#dsa_verify_asn1 -
OpenSSL
:: PKey :: DH (27019.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 (27019.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
:: Netscape :: SPKI # sign(key , digest) -> self (9319.0) -
SPKI オブジェクトに署名をします。
SPKI オブジェクトに署名をします。
@param key 署名に使う秘密鍵(OpenSSL::PKey::PKey オブジェクト)
@param digest 署名に使うダイジェスト関数(文字列もしくは OpenSSL::Digest オブジェクト)
@raise OpenSSL::Netscape::SPKIError 署名に失敗した場合に発生します
@see OpenSSL::Netscape::SPKI#verify -
OpenSSL
:: X509 :: Request # sign(key , digest) -> self (9319.0) -
証明書署名要求に秘密鍵で署名をします。
証明書署名要求に秘密鍵で署名をします。
通常、証明書署名要求は申請者の秘密鍵で署名されます。
@param key 秘密鍵(OpenSSL::PKey::PKey のサブクラスのオブジェクト)
@param digest ハッシュ関数を表す文字列("sha1" など)
@raise OpenSSL::X509::RequestError 署名に失敗した場合に発生します
@see OpenSSL::X509::Request#verify -
NEWS for Ruby 3
. 0 . 0 (163.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...NEWS for Ruby 3.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリス......eywords.
16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]
pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 => a=>1}, {}]
//}
* Arguments forwarding (`...`) now supports leading arguments.
16378
//eml......7260
* `in` is changed to return `true` or `false`. 17371
//emlist{
0 => a
p a #=> 0
{b: 0, c: 1} => {b:}
p b #=> 0
//}
//emlist{
# version 3.0
0 in 1 #=> false
# version 2.7
0 in 1 #=> raise NoMatchingPatternError
//}
* Find-pattern is added. [EXPERIMENTAL]
16828
//emlist{
case [...