ライブラリ
- ビルトイン (14)
- delegate (2)
- digest (6)
-
digest
/ sha2 (3) - openssl (42)
- pp (2)
- pstore (2)
- rubygems (1)
-
rubygems
/ digest / sha1 (1) -
rubygems
/ digest / sha2 (1) -
rubygems
/ gem _ openssl (1) -
rubygems
/ server (1) -
rubygems
/ source _ index (1) -
rubygems
/ specification (1) -
rubygems
/ version (2) - sync (2)
クラス
- Complex (1)
- Delegator (2)
-
Digest
:: Base (5) -
Digest
:: SHA2 (3) -
Gem
:: Server (1) -
Gem
:: SourceIndex (1) -
Gem
:: Specification (1) -
Gem
:: Version (2) - Object (2)
-
OpenSSL
:: Cipher (1) -
OpenSSL
:: Digest (2) -
OpenSSL
:: Digest :: SHA (3) -
OpenSSL
:: Digest :: SHA1 (3) -
OpenSSL
:: Digest :: SHA224 (3) -
OpenSSL
:: Digest :: SHA256 (3) -
OpenSSL
:: Digest :: SHA384 (3) -
OpenSSL
:: Digest :: SHA512 (3) -
OpenSSL
:: HMAC (3) -
OpenSSL
:: PKey :: PKey (2) -
OpenSSL
:: SSL :: SSLContext (1) -
OpenSSL
:: SSL :: SSLSocket (1) -
OpenSSL
:: X509 :: Request (1) - PP (2)
- PStore (2)
- Random (2)
- Rational (1)
モジュール
-
File
:: Constants (1) - Gem (3)
-
Gem
:: SSL (1) - Kernel (1)
- Marshal (6)
-
OpenSSL
:: PKCS5 (2) -
Sync
_ m (2)
キーワード
- Cipher (1)
-
DIGEST
_ SHA1 (1) - Digest (2)
-
EMPTY
_ MARSHAL _ CHECKSUM (1) -
EMPTY
_ MARSHAL _ DATA (1) - HMAC (1)
-
MAJOR
_ VERSION (1) -
MARSHAL
_ FIELDS (1) -
MINOR
_ VERSION (1) - Marshal (2)
- Marshal フォーマット (1)
- RSA (1)
- Request (1)
- SHA1 (2)
- SHA224 (1)
- SHA256 (2)
- SHA384 (1)
- SHA512 (1)
-
SHARE
_ DELETE (1) -
block
_ length (2) - cipher (1)
- ciphers (1)
- digest (8)
-
digest
_ length (2) - dump (2)
- file (1)
-
gem
_ signature (1) - hexdigest (7)
- length (1)
- load (1)
-
marshal
_ dump (6) -
marshal
_ load (4) -
marshal
_ version (1) - new (9)
- openssl (1)
-
pbkdf2
_ hmac (1) -
pbkdf2
_ hmac _ sha1 (1) -
pkcs5
_ keyivgen (1) - restore (1)
- shared? (1)
-
sharing
_ detection (1) -
sharing
_ detection= (1) - sign (2)
- size (1)
-
sync
_ shared? (1) - verify (1)
検索結果
先頭5件
-
OpenSSL
:: Digest :: SHA (63049.0) -
ハッシュ関数 SHA を表すクラス
ハッシュ関数 SHA を表すクラス -
File
:: Constants :: SHARE _ DELETE -> Integer (45601.0) -
ファイルを開いたままの状態でも削除できるように指定して開きます。 O_SHARE_DELETE が指定できる場合に使えます。 File.openで使用します。
...ファイルを開いたままの状態でも削除できるように指定して開きます。
O_SHARE_DELETE が指定できる場合に使えます。
File.openで使用します。
2.3.0 現在はファイルをバイナリとして開いた場合のみ有効です。... -
Complex
# marshal _ dump -> Array (36601.0) -
Marshal.#load のためのメソッドです。 Complex::compatible#marshal_load で復元可能な配列を返します。
Marshal.#load のためのメソッドです。
Complex::compatible#marshal_load で復元可能な配列を返します。
2.0 以降では Marshal.#load で 1.8 系の Complex オブジェクト
を保存した文字列も復元できます。
[注意] Complex::compatible は通常の方法では参照する事ができません。 -
Delegator
# marshal _ dump -> object (36601.0) -
シリアライゼーションをサポートするためにDelegator#__getobj__ が返すオブジェクトを返します。
シリアライゼーションをサポートするためにDelegator#__getobj__ が返すオブジェクトを返します。 -
Delegator
# marshal _ load(obj) -> object (36601.0) -
シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。
シリアライズされたオブジェクトから、Delegator#__getobj__ が返すオブジェクトを再現します。
@param obj Delegator#marshal_dumpの戻り値のコピー -
Gem
. # marshal _ version -> String (36601.0) -
Marshal のバージョンを表す文字列を返します。
Marshal のバージョンを表す文字列を返します。 -
Gem
:: Server # Marshal(request , response) -> () (36601.0) -
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
メソッド名に対応する URI に対するリクエストを処理するメソッドです。
@param request WEBrick::HTTPRequest オブジェクトが自動的に指定されます。
@param response WEBrick::HTTPResponse オブジェクトが自動的に指定されます。 -
Gem
:: Specification :: MARSHAL _ FIELDS -> Hash (36601.0) -
@todo
@todo -
Gem
:: Version # marshal _ dump -> Array (36601.0) -
完全なオブジェクトではなく、バージョン文字列のみダンプします。
完全なオブジェクトではなく、バージョン文字列のみダンプします。
//emlist[][ruby]{
p Gem::Version.new('1.2.0a').marshal_dump # => ["1.2.0a"]
//} -
Gem
:: Version # marshal _ load(array) -> nil (36601.0) -
ダンプされた情報をロードし、自身を破壊的に変更します。
ダンプされた情報をロードし、自身を破壊的に変更します。
//emlist[][ruby]{
version = Gem::Version.new('')
version.marshal_load(["1.2.0a"])
p version # => #<Gem::Version "1.2.0a">
//}
@param array バージョン情報を含む配列を指定します。 -
Object
# marshal _ dump -> object (36601.0) -
Marshal.#dump を制御するメソッドです。
Marshal.#dump を制御するメソッドです。
Marshal.dump(some) において、出力するオブジェクト some がメソッド marshal_dump を
持つ場合には、その返り値がダンプされたものが Marshal.dump(some) の返り値となります。
marshal_dump/marshal_load の仕組みは Ruby 1.8.0 から導入されました。
これから書くプログラムでは _dump/_load ではなく
marshal_dump/marshal_load を使うべきです。
@return 任意のオブジェクトで marshal_load の引数... -
Object
# marshal _ load(obj) -> object (36601.0) -
Marshal.#load を制御するメソッドです。
Marshal.#load を制御するメソッドです。
some のダンプ結果(Marshal.dump(some)) をロードする(Marshal.load(Marshal.dump(some)))に
は some がメソッド marshal_load を持っていなければなりません。
このとき、marshal_dump の返り値が marshal_load の引数に利用されます。
marshal_load 時の self は、生成されたばかり(Class#allocate されたばかり) の状態です。
marshal_dump/marshal_load の仕組みは Ruby 1.8.0 ... -
PStore
:: EMPTY _ MARSHAL _ CHECKSUM -> String (36601.0) -
内部で利用する定数です。
内部で利用する定数です。 -
PStore
:: EMPTY _ MARSHAL _ DATA -> String (36601.0) -
内部で利用する定数です。
内部で利用する定数です。 -
Random
# marshal _ dump -> Array (36601.0) -
Random#marshal_load で復元可能な配列を返します。
Random#marshal_load で復元可能な配列を返します。
//emlist[例][ruby]{
r1 = Random.new(1)
a1 = r1.marshal_dump
r2 = Random.new(3)
p r1 == r2 # => false
r3 = r2.marshal_load(a1)
p r1 == r2 # => true
p r1 == r3 # => true
//} -
Random
# marshal _ load(array) -> Random (36601.0) -
Random#marshal_dump で得られた配列を基に、Randomオブジェクトを復元します。
Random#marshal_dump で得られた配列を基に、Randomオブジェクトを復元します。
@param array 三要素以下からなる配列を指定します。
何を指定するかはRandom#marshal_dumpを参考にしてください。
@raise ArgumentError array が3より大きい場合に発生します。
//emlist[例][ruby]{
r1 = Random.new(1)
a1 = r1.marshal_dump
r2 = Random.new(3)
r3 = r2.marshal_load(a1)
p r1 == r2 # ... -
Rational
# marshal _ dump -> Array (36601.0) -
Marshal.#load のためのメソッドです。 Rational::compatible#marshal_load で復元可能な配列を返します。
Marshal.#load のためのメソッドです。
Rational::compatible#marshal_load で復元可能な配列を返します。
[注意] Rational::compatible は通常の方法では参照する事ができません。 -
Marshal フォーマット (36073.0)
-
Marshal フォーマット フォーマットバージョン 4.8 を元に記述しています。
Marshal フォーマット
フォーマットバージョン 4.8 を元に記述しています。
=== nil, true, false
それぞれ、'0', 'T', 'F' になります。
//emlist[][ruby]{
p Marshal.dump(nil).unpack1("x2 a*") # => "0"
p Marshal.dump(true).unpack1("x2 a*") # => "T"
p Marshal.dump(false).unpack1("x2 a*") # => "F"
//}
Ruby 2.1 以前では、インスタンス変数を設定しても dump されません... -
Marshal (36001.0)
-
Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したり する機能を提供するモジュール。
Ruby オブジェクトをファイル(または文字列)に書き出したり、読み戻したり
する機能を提供するモジュール。
大部分のクラスのインスタンスを書き出す事ができますが、書き出しの不可能なクラスも存在します(Marshal.#dump を参照)。
ここで「マーシャルデータ」と言う用語は、Marshal.#dump が出力する文字列
を指すものとします。 -
OpenSSL
:: PKCS5 . # pbkdf2 _ hmac _ sha1(pass , salt , iter , keylen) -> String (27622.0) -
pass と salt から共通鍵暗号の鍵および IV(Initialization Vector) を生成します。
pass と salt から共通鍵暗号の鍵および IV(Initialization Vector)
を生成します。
iter は鍵生成時のハッシュ関数の繰り返し回数で、大きな値を指定するほど
安全であることが期待されます。RFCでは少なくとも1000を
指定することを推奨しています。
返り値の文字列から鍵と IV に必要なバイト数を切り出して利用します。
ハッシュ関数には SHA1 を用います。
これは 2898(PKCS#5 v2.0)互換です。
@param pass パスワード文字列
@param salt salt 文字列
@param iter 鍵および IV 生成時のハ... -
Gem
:: SSL :: DIGEST _ SHA1 -> Symbol | Class (27604.0) -
@todo
@todo -
Digest
:: SHA2 # block _ length -> Integer (27301.0) -
ダイジェストのブロック長を返します。
ダイジェストのブロック長を返します。 -
Digest
:: SHA2 # digest _ length -> Integer (27301.0) -
ダイジェストのハッシュ値のバイト長を返します。
ダイジェストのハッシュ値のバイト長を返します。 -
Marshal
. # load(port , proc = nil) -> object (27301.0) -
port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。
port からマーシャルデータを読み込んで、元のオブジェクトと同
じ状態をもつオブジェクトを生成します。
proc として手続きオブジェクトが与えられた場合には読み込んだ
オブジェクトを引数にその手続きを呼び出します。
//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})
# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000... -
OpenSSL
:: Digest :: SHA1 (27049.0) -
ハッシュ関数 SHA1 を表すクラス
ハッシュ関数 SHA1 を表すクラス -
OpenSSL
:: Digest :: SHA224 (27049.0) -
ハッシュ関数 SHA224 を表すクラス
ハッシュ関数 SHA224 を表すクラス -
OpenSSL
:: Digest :: SHA256 (27049.0) -
ハッシュ関数 SHA256 を表すクラス
ハッシュ関数 SHA256 を表すクラス -
OpenSSL
:: Digest :: SHA384 (27049.0) -
ハッシュ関数 SHA384 を表すクラス
ハッシュ関数 SHA384 を表すクラス -
OpenSSL
:: Digest :: SHA512 (27049.0) -
ハッシュ関数 SHA512 を表すクラス
ハッシュ関数 SHA512 を表すクラス -
Gem
:: SHA1 -> Class (18652.0) -
Digest::SHA1 です。
Digest::SHA1 です。 -
Gem
:: SHA256 -> Class (18652.0) -
Digest::SHA256 です。
Digest::SHA256 です。 -
OpenSSL
:: Digest :: SHA . new(data=nil) -> OpenSSL :: Digest :: SHA (18604.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA1 . new(data=nil) -> OpenSSL :: Digest :: SHA1 (18604.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA224 . new(data=nil) -> OpenSSL :: Digest :: SHA224 (18604.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA256 . new(data=nil) -> OpenSSL :: Digest :: SHA256 (18604.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA384 . new(data=nil) -> OpenSSL :: Digest :: SHA384 (18604.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
OpenSSL
:: Digest :: SHA512 . new(data=nil) -> OpenSSL :: Digest :: SHA512 (18604.0) -
新しいダイジェストオブジェクトを生成します。
新しいダイジェストオブジェクトを生成します。
data に文字列を渡すとその内容で内部状態を更新します。
@param data 入力文字列 -
PP
. sharing _ detection -> bool (18601.0) -
共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。
共有検出フラグを表すアクセサです。
デフォルトは false です。true である場合、
PP.pp は一度出力したオブジェクトを再び出力する時
Object#pretty_print_cycle を使います。
@param boolean 共有検出フラグを true か false で指定します。
//emlist[][ruby]{
require 'pp'
b = [1, 2, 3]
a = [b, b]
pp a #=> [[1, 2, 3], [1, 2, 3]]
PP.sharing_detection = true
pp ... -
PP
. sharing _ detection=(boolean) (18601.0) -
共有検出フラグを表すアクセサです。 デフォルトは false です。true である場合、 PP.pp は一度出力したオブジェクトを再び出力する時 Object#pretty_print_cycle を使います。
共有検出フラグを表すアクセサです。
デフォルトは false です。true である場合、
PP.pp は一度出力したオブジェクトを再び出力する時
Object#pretty_print_cycle を使います。
@param boolean 共有検出フラグを true か false で指定します。
//emlist[][ruby]{
require 'pp'
b = [1, 2, 3]
a = [b, b]
pp a #=> [[1, 2, 3], [1, 2, 3]]
PP.sharing_detection = true
pp ... -
Sync
_ m # shared? -> bool (18601.0) -
共有ロックされているかどうかを返します。
共有ロックされているかどうかを返します。 -
Sync
_ m # sync _ shared? -> bool (18601.0) -
共有ロックされているかどうかを返します。
共有ロックされているかどうかを返します。 -
Digest
:: Base # block _ length -> Integer (18421.0) -
ダイジェストのブロック長を取得します。 例えば、Digest::MD5であれば64、Digest::SHA512であれば128です。
ダイジェストのブロック長を取得します。
例えば、Digest::MD5であれば64、Digest::SHA512であれば128です。
本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、
それぞれの実装に適したものにオーバーライドされます。
例: Digest::MD、Digest::SHA1、Digest::SHA512のブロック長を順番に調べる。
require 'digest'
["MD5", "SHA1", "SHA512"].map{|a| Digest(a).new().block_length } # => [64, 128, 128] -
Digest
:: Base # digest _ length -> Integer (18421.0) -
ダイジェストのハッシュ値のバイト長を取得します。 例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
ダイジェストのハッシュ値のバイト長を取得します。
例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、
それぞれの実装に適したものにオーバーライドされます。
例: Digest::MD、Digest::SHA1、Digest::SHA512のハッシュ値のバイト長を順番に調べる。
require 'digest'
["MD5", "SHA1", "SHA512"].map{|a| Digest(a).new().digest_length } # => [16, 20, ... -
Digest
:: Base # length -> Integer (18421.0) -
ダイジェストのハッシュ値のバイト長を取得します。 例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
ダイジェストのハッシュ値のバイト長を取得します。
例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、
それぞれの実装に適したものにオーバーライドされます。
例: Digest::MD、Digest::SHA1、Digest::SHA512のハッシュ値のバイト長を順番に調べる。
require 'digest'
["MD5", "SHA1", "SHA512"].map{|a| Digest(a).new().digest_length } # => [16, 20, ... -
Digest
:: Base . file(path) -> object (18337.0) -
新しいダイジェストオブジェクトを生成し、 ファイル名 file で指定したファイルの内容を読み込み、 そのダイジェストオブジェクトを返します。
新しいダイジェストオブジェクトを生成し、
ファイル名 file で指定したファイルの内容を読み込み、
そのダイジェストオブジェクトを返します。
@param path 読み込み対象のファイル名です。
@return ダイジェストオブジェクトを返します。
使用例(SHA256の場合)
require 'digest'
digest = Digest::SHA256.file("X11R6.8.2-src.tar.bz2")
digest.hexdigest
# => "f02e3c85572dc9ad7cb77c2a638e... -
Marshal
. # dump(obj , limit = -1) -> String (18301.0) -
obj を指定された出力先に再帰的に出力します。
obj を指定された出力先に再帰的に出力します。
ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を参照。)
* システムがオブジェクトの状態を保持するもの。具体的には以下のイン
スタンス。Dir, File::Stat, IO とそのサブクラス
File, Socket など。... -
Marshal
. # dump(obj , port , limit = -1) -> IO (18301.0) -
obj を指定された出力先に再帰的に出力します。
obj を指定された出力先に再帰的に出力します。
ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を参照。)
* システムがオブジェクトの状態を保持するもの。具体的には以下のイン
スタンス。Dir, File::Stat, IO とそのサブクラス
File, Socket など。... -
Marshal
. # restore(port , proc = nil) -> object (18301.0) -
port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。
port からマーシャルデータを読み込んで、元のオブジェクトと同
じ状態をもつオブジェクトを生成します。
proc として手続きオブジェクトが与えられた場合には読み込んだ
オブジェクトを引数にその手続きを呼び出します。
//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})
# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000... -
OpenSSL
:: Digest :: SHA . digest(data) -> String (18049.0) -
data のダイジェストを SHA で計算します。
data のダイジェストを SHA で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA . hexdigest(data) -> String (18049.0) -
data のダイジェストを SHA で計算し、16進文字列で返します。
data のダイジェストを SHA で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA1 . digest(data) -> String (18049.0) -
data のダイジェストを SHA1 で計算します。
data のダイジェストを SHA1 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA1 . hexdigest(data) -> String (18049.0) -
data のダイジェストを SHA1 で計算し、16進文字列で返します。
data のダイジェストを SHA1 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA224 . digest(data) -> String (18049.0) -
data のダイジェストを SHA224 で計算します。
data のダイジェストを SHA224 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA224 . hexdigest(data) -> String (18049.0) -
data のダイジェストを SHA224 で計算し、16進文字列で返します。
data のダイジェストを SHA224 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA256 . digest(data) -> String (18049.0) -
data のダイジェストを SHA256 で計算します。
data のダイジェストを SHA256 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA256 . hexdigest(data) -> String (18049.0) -
data のダイジェストを SHA256 で計算し、16進文字列で返します。
data のダイジェストを SHA256 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA384 . digest(data) -> String (18049.0) -
data のダイジェストを SHA384 で計算します。
data のダイジェストを SHA384 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA384 . hexdigest(data) -> String (18049.0) -
data のダイジェストを SHA384 で計算し、16進文字列で返します。
data のダイジェストを SHA384 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA512 . digest(data) -> String (18049.0) -
data のダイジェストを SHA512 で計算します。
data のダイジェストを SHA512 で計算します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: Digest :: SHA512 . hexdigest(data) -> String (18049.0) -
data のダイジェストを SHA512 で計算し、16進文字列で返します。
data のダイジェストを SHA512 で計算し、16進文字列で返します。
@param data ダイジェストを計算する文字列 -
OpenSSL
:: SSL :: SSLContext # ciphers -> [[String , String , Integer , Integer]] (18037.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", "TLSv1/SSLv3", 256, 256]... -
OpenSSL
:: SSL :: SSLSocket # cipher -> [String , String , Integer , Integer] (18019.0) -
現在実際に使われている暗号の情報を配列で返します。
現在実際に使われている暗号の情報を配列で返します。
返される配列の形式は以下の例のように [暗号名, TLS/SSLのバージョン, 鍵長, アルゴリズムで使われる bit 数] となります。
["DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168]
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。 -
openssl (18019.0)
-
OpenSSL(https://www.openssl.org/) を Ruby から扱うためのライブラリです。
OpenSSL(https://www.openssl.org/)
を Ruby から扱うためのライブラリです。
このドキュメントでは SSL/TLS の一般的事項については
解説をしません。利用者は、SSL/TLSの各概念、例えば
以下の事項について理解している必要があります。
* 暗号と認証に関する一般的概念
* セキュリティに対する攻撃法
* 公開鍵暗号と秘密鍵暗号
* 署名の役割、署名の方法とその検証
* 公開鍵基盤(PKI, Public Key Infrastructure)
* X.509 証明書
* 暗号と乱数について
SSLのようなセキュリティ技... -
Marshal
:: MAJOR _ VERSION -> Integer (18001.0) -
Marshal.#dump が出力するデータフォーマットのバージョン番号です。
Marshal.#dump が出力するデータフォーマットのバージョン番号です。
Marshal.#load は、メジャーバージョンが異なるか、バージョンの大きな
マーシャルデータを読み込んだとき例外 TypeError を発生させます。
マイナーバージョンが古いだけのフォーマットは読み込み可能ですが、
$VERBOSE = true のときには警告メッセージが出力されます
マーシャルされたデータのバージョン番号は以下のようにして取得するこ
とができます。
//emlist[例][ruby]{
obj = Object.new
major, minor = Marshal.dump(o... -
Marshal
:: MINOR _ VERSION -> Integer (18001.0) -
Marshal.#dump が出力するデータフォーマットのバージョン番号です。
Marshal.#dump が出力するデータフォーマットのバージョン番号です。
Marshal.#load は、メジャーバージョンが異なるか、バージョンの大きな
マーシャルデータを読み込んだとき例外 TypeError を発生させます。
マイナーバージョンが古いだけのフォーマットは読み込み可能ですが、
$VERBOSE = true のときには警告メッセージが出力されます
マーシャルされたデータのバージョン番号は以下のようにして取得するこ
とができます。
//emlist[例][ruby]{
obj = Object.new
major, minor = Marshal.dump(o... -
Digest
:: SHA2 . new(bitlen = 256) -> Digest :: SHA2 (9652.0) -
与えられた bitlen に対応する SHA2 ハッシュを生成するためのオブジェクト を内部で設定して自身を初期化します。
与えられた bitlen に対応する SHA2 ハッシュを生成するためのオブジェクト
を内部で設定して自身を初期化します。
@param bitlen ハッシュの長さを指定します。256, 384, 512 が指定可能です。
@raise ArgumentError bitlen に 256, 384, 512 以外の値を指定した場合に発生します。 -
OpenSSL
:: PKCS5 . # pbkdf2 _ hmac(pass , salt , iter , keylen , digest) -> String (9337.0) -
pass と salt から共通鍵暗号の鍵および IV(Initialization Vector) を生成します。
pass と salt から共通鍵暗号の鍵および IV(Initialization Vector)
を生成します。
OpenSSL::PKCS5.#pbkdf2_hmac_sha1 と異なり任意の
ハッシュ関数を利用できます。
返り値の文字列から鍵と IV に必要なバイト数を切り出して利用します。
この関数は OpenSSL 1.0.0 以降でなければ利用できません。
@param pass パスワード文字列
@param salt salt 文字列
@param iter 鍵および IV 生成時のハッシュ関数の繰り返し回数
@param keylen 結果の文字列のバイト数
@pa... -
OpenSSL
:: Cipher # pkcs5 _ keyivgen(pass , salt=nil , num=2048 , digest="md5") -> nil (9319.0) -
pass と salt から鍵と IV を生成し、暗号オブジェクトに設定します。
pass と salt から鍵と IV を生成し、暗号オブジェクトに設定します。
このメソッドは PKCS#5 v1.5 で定義されている方法に
従って鍵と IV を生成します。PKCS#5 v1.5 と正しく互換するには
digest は md5 か sha1 を使い、暗号アルゴリズムは
RC2, RC4-40, DES のいずれかを使わなければなりません。
このメソッドの利用は推奨されません。これではなく
PKCS#5 v2.0 に定義されている方法で鍵と IV を生成すべきです。
salt が nil である場合には salt なしと見なします。
num は必要なデータの生成でハ... -
OpenSSL
:: Digest . new(name , data=nil) -> OpenSSL :: Digest (9319.0) -
ダイジェストオブジェクトを生成します。
ダイジェストオブジェクトを生成します。
name でハッシュ関数の種類を選びます。
data に文字列を渡すと、その文字列でオブジェクトの内部状態を更新します。
@param name ハッシュ関数の種類を文字列("md5", "sha256" など)で指定
@param data 入力文字列
@raise RuntimeError サポートされていないアルゴリズムを指定した場合に発生します -
OpenSSL
:: HMAC . new(key , digest) -> OpenSSL :: HMAC (9319.0) -
HMAC を計算するためのオブジェクトを生成します。
HMAC を計算するためのオブジェクトを生成します。
生成されたオブジェクトの内部状態は入力なしの状態にリセットされます。
digest には利用するハッシュ関数を表す文字列("md5", "sha256" など)
を渡します。
@param key 利用する鍵の文字列
@param digest 利用するハッシュ関数 -
OpenSSL
:: PKey :: PKey # verify(digest , sign , data) -> bool (9319.0) -
data を秘密鍵で署名したその署名文字列が sign であることを公開鍵を使って検証し、検証に成功すれば true を返します。
data を秘密鍵で署名したその署名文字列が sign
であることを公開鍵を使って検証し、検証に成功すれば true
を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で検証をする場合はハッシュ関数には "dss1" を指定してください。
検証に失敗した、つまり署名時と異なるハッシュ関数を使った、
sign が正しい署名でなかった場合などは false を返します。
@param digest 利用するハッシュ関数の名前
@param sign 検証に利用する署名文字列
@param data 検証対... -
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 -
Kernel
# Digest(name) -> object (9193.0) -
"MD5"や"SHA1"などのダイジェストを示す文字列 name を指定し、 対応するダイジェストのクラスを取得します。
"MD5"や"SHA1"などのダイジェストを示す文字列 name を指定し、
対応するダイジェストのクラスを取得します。
このメソッドはスレッドセーフです。マルチスレッド環境で
Digest::MD5などを直接呼び出すと問題があるときはこのメソッドを使
うか、起動時に使用するライブラリを Kernel.#require してください。
@param name "MD5"や"SHA1"などのダイジェストを示す文字列を指定します。
@return Digest::MD5やDigest::SHA1などの対応するダイジェストのクラスを返します。インスタンスではなく、クラスを返します。注意してくだ... -
Digest
:: Base # size -> Integer (9121.0) -
ダイジェストのハッシュ値のバイト長を取得します。 例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
ダイジェストのハッシュ値のバイト長を取得します。
例えば、Digest::MD5であれば16、Digest::SHA1であれば20です。
本メソッドは、Digest::MD5などのダイジェストのサブクラスにより、
それぞれの実装に適したものにオーバーライドされます。
例: Digest::MD、Digest::SHA1、Digest::SHA512のハッシュ値のバイト長を順番に調べる。
require 'digest'
["MD5", "SHA1", "SHA512"].map{|a| Digest(a).new().digest_length } # => [16, 20, ... -
OpenSSL
:: PKey :: RSA (9055.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
:: Cipher (9019.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
基本的にこのクラスを直接使ってデータを暗号化することは
避けてください。通常はより高水準なインターフェースが利用可能な
はずです。必要なのは暗号アルゴリズムを指定するため
OpenSSL::Cipher.new で暗号オブジェクトを生成することだけでしょう。
もし、このクラスを直接利用して暗号化する場合は、暗号の鍵や
IV(Initialization Vector)の取り扱いについて正しく理解してからに
してください。
以下の手順で利用します。
* OpenSSL::Cipher.new や OpenSSL::... -
OpenSSL
:: Digest (9019.0) -
ハッシュ関数のためのインターフェースを提供するクラスです。
ハッシュ関数のためのインターフェースを提供するクラスです。
このインターフェースには2通りの利用法が存在します。
一方は文字列から直接ハッシュを計算する (OpenSSL::Digest.digest,
Digest::Instance#hexdigest) 方法です。短い文字列の
ダイジェストを取るときにはこちらを使えばよいでしょう。
もう一つはダイジェストオブジェクトを作成して、文字列を順次
OpenSSL::Digest#update で渡すことでダイジェストを計算
します。大きなファイルのハッシュ値を計算する場合などに
利用します。
例:
require 'openssl'... -
OpenSSL
:: Digest . digest(name , data) -> String (9019.0) -
data のダイジェストを計算します。
data のダイジェストを計算します。
name でハッシュ関数を指定します。
@param name ハッシュ関数の種類を文字列("md5", "sha256" など)で指定
@param data ダイジェストを計算する文字列 -
OpenSSL
:: HMAC (9019.0) -
HMAC を表すクラス。
HMAC を表すクラス。
HMAC とは MAC(message authentication code, ハッシュ関数(MD5やSHAなど)
と鍵の文字列をパラメータとするハッシュ関数)の一種です。
メッセージの認証に利用されます。
OpenSSL::Digest のようにある与えられた文字列の
ハッシュ値を直接計算するインターフェースと
インスタンスを生成して入力文字列を順次与えてハッシュ値を
計算するインターフェースの2つがあります。
HMAC は2104 で定義されています。 -
OpenSSL
:: HMAC . digest(digest , key , data) -> String (9019.0) -
渡された digest と key を用いて data の HMAC を計算し、 その値をバイナリ文字列として返します。
渡された digest と key を用いて data の HMAC を計算し、
その値をバイナリ文字列として返します。
digest には利用するハッシュ関数を表す文字列("md5", "sha256" など)
を渡します。
@param digest 利用するハッシュ関数
@param key 利用する鍵の文字列
@param data HMAC を計算する文字列 -
OpenSSL
:: HMAC . hexdigest(digest , key , data) -> String (9019.0) -
渡された digest と key を用いて data の HMAC を計算し、 その値を16進文字列で返します。
渡された digest と key を用いて data の HMAC を計算し、
その値を16進文字列で返します。
digest には利用するハッシュ関数を表す文字列("md5", "sha256" など)
を渡します。
@param digest 利用するハッシュ関数
@param key 利用する鍵の文字列
@param data HMAC を計算する文字列 -
OpenSSL
:: PKey :: PKey # sign(digest , data) -> String (9019.0) -
秘密鍵で data に署名し、署名の文字列を返します。
秘密鍵で data に署名し、署名の文字列を返します。
digest は利用するハッシュ関数の名前を "sha256" や "md5"
といった文字列で指定します。
DSA で署名をする場合はハッシュ関数には "dss1" を指定してください。
@param digest 利用するハッシュ関数の名前
@param data 署名する文字列
@raise OpenSSL::PKey::PKeyError 署名時にエラーが起きた場合に発生します -
OpenSSL
:: X509 :: Request (9019.0) -
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす クラスです。
X.509 の証明書署名要求(Certificate Signing Request, CSR)を表わす
クラスです。
X.509 CSR については 2986 などを参照してください。
=== 例
CSR を生成する例。
require 'openssl'
# ファイルから秘密鍵を読み込む
rsa = OpenSSL::PKey::RSA.new(File.read("privkey.pem"))
# 新しい CSR オブジェクトを生成
csr = OpenSSL::X509::Request.new
# DN を生成
name = OpenSSL::X50... -
Gem
:: SourceIndex # gem _ signature(gem _ full _ name) -> String (349.0) -
与えられた名前を持つ Gem の SHA256 ダイジェストを返します。
与えられた名前を持つ Gem の SHA256 ダイジェストを返します。
@param gem_full_name Gem の名前を指定します。