136件ヒット
[1-100件を表示]
(0.042秒)
種類
- 特異メソッド (48)
- 文書 (27)
- クラス (25)
- インスタンスメソッド (24)
- モジュール (12)
クラス
-
OpenSSL
:: Cipher (12) -
OpenSSL
:: PKey :: DSA (24) -
OpenSSL
:: PKey :: EC (12) -
OpenSSL
:: PKey :: RSA (24)
キーワード
- Cipher (12)
-
NEWS for Ruby 2
. 0 . 0 (12) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 2
. 6 . 0 (7) - RSA (12)
- Symbol (1)
- generate (48)
-
public
_ key? (12) -
random
_ key (12)
検索結果
先頭5件
-
OpenSSL
:: Random (18054.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
...ります。
このようなメソッドには以下のものがあります。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* OpenSSL::PKey::DH.generate
* OpenSSL::Cipher#random_key
そのような乱数は適切な実装を持つ擬似乱数生成器に適切なシードを......penSSL::Cipher#random_iv
などでも利用されます。
擬似乱数生成器は適切なシードを与えられなければ正しく動作しません。
OpenSSL にはそのための API
* OpenSSL::Random.#random_add
* OpenSSL::Random.#seed
* OpenSSL::Random.#load_random_file
が存在......ならばシードとして利用できますが、
通常はもっと良いエントロピー源があるはずです。
Linux であれば /dev/random が適当なエントロピー源となるでしょう。
OpenSSL では EGD(Entropy Gathering Daemon)からエントロピーを取得するこ... -
OpenSSL
:: Cipher # random _ key -> String (12202.0) -
鍵を乱数で生成し、暗号オブジェクトに設定します。
鍵を乱数で生成し、暗号オブジェクトに設定します。
生成した鍵を文字列で返します。 -
OpenSSL
:: PKey :: EC # public _ key? -> bool (9113.0) -
EC オブジェクトが公開鍵を保持していれば真を返します。
...クトが公開鍵を保持していれば真を返します。
OpenSSL::PKey::RSA や OpenSSL::PKey::DSA と
異なり、EC オブジェクトが公開鍵を含まない場合が存在します。
例えば、OpenSSL::PKey::EC.new でパラメータとなる群のみを
指定して EC オブジ......合は、公開鍵も秘密鍵も
保持していません。この場合 OpenSSL::PKey::EC#generate_key で
鍵を生成するまで、その状態のままです。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている... -
OpenSSL
:: PKey :: DSA . generate(size) -> OpenSSL :: PKey :: DSA (3106.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
...DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数の... -
OpenSSL
:: PKey :: DSA . generate(size) {|u , n| . . . } -> OpenSSL :: PKey :: DSA (3106.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
...DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの素数の... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) -> OpenSSL :: PKey :: RSA (3106.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
...により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビット数... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA (3106.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
...により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビット数... -
OpenSSL
:: PKey :: RSA (3078.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
のいずれかでしょう。これ......# 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......end
# 公開鍵をpublic_key.pemに保存
public_key = rsa.public_key
File.open("public_key.pem", "w") do |f|
f.write(public_key.export)
end
# 秘密鍵で署名
data = "foobar"
sign = rsa.sign("sha256", data)
# 公開鍵で検証
p public_key.verify("sha256", sign, data)... -
OpenSSL
:: Cipher (102.0) -
共通鍵暗号のために抽象化されたインターフェースを提供するクラスです。
..., OpenSSL::Cipher#decrypt で
暗号、復号のいずれをするかを設定する
* OpenSSL::Cipher#key=, OpenSSL::Cipher#iv=,
OpenSSL::Cipher#random_key, OpenSSL::Cipher#random_iv などで
鍵と IV(initialization vector) を設定する
* OpenSSL::Cipher#update, OpenSSL::Ciphe......OpenSSL::Random.random_bytes(8)
# 暗号化器を作成する
enc = OpenSSL::Cipher.new("AES-256-CBC")
enc.encrypt
# 鍵とIV(Initialize Vector)を PKCS#5 に従ってパスワードと salt から生成する
key_iv = OpenSSL::PKCS5.pbkdf2_hmac_sha1(pass, salt, 2000, enc.key_len + enc.......iv_len)
key = key_iv[0, enc.key_len]
iv = key_iv[enc.key_len, enc.iv_len]
# 鍵とIVを設定する
enc.key = key
enc.iv = iv
# 暗号化する
encrypted_data = ""
encrypted_data << enc.update(data)
encrypted_data << enc.final
p encrypted_data
# 復号化器を作成...