種類
- 特異メソッド (19)
- インスタンスメソッド (6)
- クラス (2)
- モジュール (1)
クラス
-
OpenSSL
:: BN (1) -
OpenSSL
:: PKey :: DH (9) -
OpenSSL
:: PKey :: DSA (6) -
OpenSSL
:: PKey :: EC (2) -
OpenSSL
:: PKey :: RSA (7)
キーワード
- DH (1)
- RSA (1)
- Random (1)
-
generate
_ key (1) -
generate
_ key! (1) -
generate
_ prime (1) - new (12)
-
params
_ ok? (1) -
priv
_ key= (1) -
pub
_ key= (1) -
public
_ key? (1)
検索結果
先頭5件
- OpenSSL
:: PKey :: DSA . generate(size) -> OpenSSL :: PKey :: DSA - OpenSSL
:: PKey :: DSA . generate(size) {|u , n| . . . } -> OpenSSL :: PKey :: DSA - OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) -> OpenSSL :: PKey :: RSA - OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA - OpenSSL
:: PKey :: DH . generate(size , generator = 2) -> PKey :: DH
-
OpenSSL
:: PKey :: DSA . generate(size) -> OpenSSL :: PKey :: DSA (87637.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
...により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの... -
OpenSSL
:: PKey :: DSA . generate(size) {|u , n| . . . } -> OpenSSL :: PKey :: DSA (87637.0) -
乱数により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして 返します。
...により DSA 公開鍵と秘密鍵のペアを生成して、DSA オブジェクトとして
返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size は DSA パラメータの... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) -> OpenSSL :: PKey :: RSA (87637.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
...乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビッ... -
OpenSSL
:: PKey :: RSA . generate(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA (87637.0) -
乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
...乱数により RSA 公開鍵と秘密鍵のペアを生成して、RSA オブジェクトを返します。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化されている必要があります。
size で鍵の modulus のビッ... -
OpenSSL
:: PKey :: DH . generate(size , generator = 2) -> PKey :: DH (87385.0) -
DH 鍵共有プロトコルのパラメータを生成し、DH オブジェクトを返します。
...)のサイズで、単位はビットです。
generatorは1より大きい小さい数で、通常2か5を指定します。
生成した値は OpenSSL::PKey::DH#params_ok? で
安全かどうかチェックしてから利用してください。
このメソッドにブロックが渡された......成されます。
@param size 鍵パラメータの素数のサイズ(ビット数)
@param generator 鍵パラメータの生成元(2以上の整数、通常2か5)
@raise OpenSSL::PKey::DHError パラメータの生成に失敗した場合に発生します
@see OpenSSL::PKey::DH#generate_key!... -
OpenSSL
:: PKey :: DH . generate(size , generator = 2) {|u , n| . . . } -> PKey :: DH (87385.0) -
DH 鍵共有プロトコルのパラメータを生成し、DH オブジェクトを返します。
...)のサイズで、単位はビットです。
generatorは1より大きい小さい数で、通常2か5を指定します。
生成した値は OpenSSL::PKey::DH#params_ok? で
安全かどうかチェックしてから利用してください。
このメソッドにブロックが渡された......成されます。
@param size 鍵パラメータの素数のサイズ(ビット数)
@param generator 鍵パラメータの生成元(2以上の整数、通常2か5)
@raise OpenSSL::PKey::DHError パラメータの生成に失敗した場合に発生します
@see OpenSSL::PKey::DH#generate_key!... -
OpenSSL
:: BN . generate _ prime(bits , safe=true , add=nil , rem=nil) -> OpenSSL :: BN (51631.0) -
ランダム(擬似乱数的)な bits ビットの素数を返します。
...す。
@param bits 生成するランダム素数のビット数
@param safe true で安全な素数のみを生成する
@param add 生成する素数の剰余の条件
@param rem 生成する素数の剰余の条件
@raise OpenSSL::BNError 素数の生成に失敗した場合に発生します... -
OpenSSL
:: PKey :: DH # generate _ key! -> self (51346.0) -
鍵パラメータ p と g から鍵対を生成しなおし、 自身にセットします。
...なおし、
自身にセットします。
以前の鍵対の値は廃棄されます。
生成した値は OpenSSL::PKey::DH#params_ok? で
安全かどうかチェックしてから利用してください。
@raise OpenSSL::PKey::DHError 鍵の生成に失敗した場合に発生します... -
OpenSSL
:: PKey :: EC # generate _ key -> self (51328.0) -
鍵ペアを乱数で生成します。
...鍵ペアを乱数で生成します。
@raise OpenSSL::PKey::ECError 鍵ペアの生成に失敗した場合に発生します... -
OpenSSL
:: Random (33451.0) -
OpenSSL が利用する擬似乱数生成器関連のモジュールです。
...OpenSSL が利用する擬似乱数生成器関連のモジュールです。
* 4086
=== 暗号と乱数
OpenSSL では、鍵を生成するためなどに乱数を用いています。例えば RSA では
巨大(512bitや1024bitなど)な素数の組を乱数で生成し、そこから公開鍵......ます。
* OpenSSL::PKey::RSA.generate
* OpenSSL::PKey::DSA.generate
* OpenSSL::PKey::DH.generate
* OpenSSL::Cipher#random_key
そのような乱数は適切な実装を持つ擬似乱数生成器に適切なシードを渡す
ことによって実現できます。
OpenSSL にはそのよ......。
そして、この擬似乱数生成器は OpenSSL の様々なモジュールから利用されています。
上に挙げた鍵生成メソッドの他に、
* OpenSSL::BN.rand
* OpenSSL::BN.rand_range
* OpenSSL::BN.generate_prime
* OpenSSL::Cipher#random_iv
などでも利用され... -
OpenSSL
:: PKey :: DH . new() -> OpenSSL :: PKey :: DH (33406.0) -
DH オブジェクトを生成します。
...DH オブジェクトを生成します。
第1引数に整数を渡した場合は、OpenSSL::PKey::DH#generate と
同じです。
それ以外の場合には、以下のようにして鍵パラメータを読みこみ、DH オブジェクト
を生成します。
* 第一引数が文字列の......イズ(ビット数)
@param generator 鍵パラメータの生成元(2以上の整数、通常2か5)
@param obj 鍵パラメータを読み込むオブジェクト
@raise OpenSSL::PKey::DHError オブジェクトの生成に失敗した場合に発生します
@see OpenSSL::PKey::DH#generate_key!... -
OpenSSL
:: PKey :: DH . new(obj) -> OpenSSL :: PKey :: DH (33406.0) -
DH オブジェクトを生成します。
...DH オブジェクトを生成します。
第1引数に整数を渡した場合は、OpenSSL::PKey::DH#generate と
同じです。
それ以外の場合には、以下のようにして鍵パラメータを読みこみ、DH オブジェクト
を生成します。
* 第一引数が文字列の......イズ(ビット数)
@param generator 鍵パラメータの生成元(2以上の整数、通常2か5)
@param obj 鍵パラメータを読み込むオブジェクト
@raise OpenSSL::PKey::DHError オブジェクトの生成に失敗した場合に発生します
@see OpenSSL::PKey::DH#generate_key!... -
OpenSSL
:: PKey :: DH . new(size , generator = 2) -> OpenSSL :: PKey :: DH (33406.0) -
DH オブジェクトを生成します。
...DH オブジェクトを生成します。
第1引数に整数を渡した場合は、OpenSSL::PKey::DH#generate と
同じです。
それ以外の場合には、以下のようにして鍵パラメータを読みこみ、DH オブジェクト
を生成します。
* 第一引数が文字列の......イズ(ビット数)
@param generator 鍵パラメータの生成元(2以上の整数、通常2か5)
@param obj 鍵パラメータを読み込むオブジェクト
@raise OpenSSL::PKey::DHError オブジェクトの生成に失敗した場合に発生します
@see OpenSSL::PKey::DH#generate_key!... -
OpenSSL
:: PKey :: RSA . new -> OpenSSL :: PKey :: RSA (33376.0) -
RSA 暗号鍵オブジェクトを生成します。
...を生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......ルに問い合わせをします。
@param size 鍵生成をする場合の鍵のサイズ
@param exponent public exponent
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::RSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: RSA . new(obj , pass = nil) -> OpenSSL :: PKey :: RSA (33376.0) -
RSA 暗号鍵オブジェクトを生成します。
...を生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......ルに問い合わせをします。
@param size 鍵生成をする場合の鍵のサイズ
@param exponent public exponent
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::RSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: RSA . new(obj , pass = nil) {|flag| . . . } -> OpenSSL :: PKey :: RSA (33376.0) -
RSA 暗号鍵オブジェクトを生成します。
...を生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......ルに問い合わせをします。
@param size 鍵生成をする場合の鍵のサイズ
@param exponent public exponent
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::RSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: RSA . new(size , exponent = 65537) -> OpenSSL :: PKey :: RSA (33376.0) -
RSA 暗号鍵オブジェクトを生成します。
...を生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......ルに問い合わせをします。
@param size 鍵生成をする場合の鍵のサイズ
@param exponent public exponent
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::RSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: RSA . new(size , exponent = 65537) {|u , n| . . . } -> OpenSSL :: PKey :: RSA (33376.0) -
RSA 暗号鍵オブジェクトを生成します。
...を生成します。
引数なしの場合は空の RSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::RSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......ルに問い合わせをします。
@param size 鍵生成をする場合の鍵のサイズ
@param exponent public exponent
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::RSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: DSA . new -> OpenSSL :: PKey :: DSA (33373.0) -
DSA オブジェクトを生成します。
...を生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......た場合にはターミナルに問い合わせをします。
@param size 鍵を生成する時の素数のビット数
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::DSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: DSA . new(obj , pass=nil) -> OpenSSL :: PKey :: DSA (33373.0) -
DSA オブジェクトを生成します。
...を生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......た場合にはターミナルに問い合わせをします。
@param size 鍵を生成する時の素数のビット数
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::DSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: DSA . new(obj , pass=nil) {|flag| . . . } -> OpenSSL :: PKey :: DSA (33373.0) -
DSA オブジェクトを生成します。
...を生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......た場合にはターミナルに問い合わせをします。
@param size 鍵を生成する時の素数のビット数
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::DSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: DSA . new(size) -> OpenSSL :: PKey :: DSA (33373.0) -
DSA オブジェクトを生成します。
...を生成します。
引数なしの場合は空の DSA オブジェクトを返します。
第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により
公開鍵と秘密鍵のペアを生成し、それを返します。
それ以外の場合には、以下のよ......た場合にはターミナルに問い合わせをします。
@param size 鍵を生成する時の素数のビット数
@param obj 鍵データ
@param pass 鍵データに設定したパスフレーズ
@raise OpenSSL::PKey::DSAError 鍵の読み込みに失敗した場合に発生します。... -
OpenSSL
:: PKey :: RSA (33259.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
:: PKey :: DH (33169.0) -
Diffie-Hellman 鍵共有クラス
...有クラス
Diffie-Hellman 鍵共有プロトコルは署名ができないため、
OpenSSL::PKey::PKey#sign や OpenSSL::PKey::PKey#verify
を呼び署名や署名の検証を行おうとすると例外
OpenSSL::PKey::PKeyError が発生します。
Diffie-Hellman はこのライブラリで......は基本的には鍵共有にしか利用できません。
=== 例
鍵共有の例。
require 'openssl'
# パラメータの生成
dh = OpenSSL::PKey::DH.generate(1024, 5)
# パラメータのチェック
raise "bad DH parameter" unless dh.params_ok?
# 以下、dh1 と dh2 が通......つ複製することにしている
# dh1 は dh をそのまま使う
dh1 = dh
# パラメータを複製して dh2 に渡す
dh2 = OpenSSL::PKey::DH.new(dh)
# 両端が鍵パラメータから鍵対を生成する
dh1.generate_key!
dh2.generate_key!
# 通信の両端で公... -
OpenSSL
:: PKey :: EC # public _ key? -> bool (33115.0) -
EC オブジェクトが公開鍵を保持していれば真を返します。
...ブジェクトが公開鍵を保持していれば真を返します。
OpenSSL::PKey::RSA や OpenSSL::PKey::DSA と
異なり、EC オブジェクトが公開鍵を含まない場合が存在します。
例えば、OpenSSL::PKey::EC.new でパラメータとなる群のみを
指定して EC......った場合は、公開鍵も秘密鍵も
保持していません。この場合 OpenSSL::PKey::EC#generate_key で
鍵を生成するまで、その状態のままです。
このメソッドを呼ぶ前に OpenSSL::Random の各モジュール関数に
よって乱数が適切に初期化され... -
OpenSSL
:: PKey :: DH # params _ ok? -> bool (33079.0) -
パラメータ p と g が安全かどうかを判定します。
...パラメータ p と g が安全かどうかを判定します。
@see OpenSSL::PKey::DH#generate_key!,
OpenSSL::PKey::DH.generate... -
OpenSSL
:: PKey :: DH # priv _ key=(private _ key) (33079.0) -
DH 鍵共有プロトコルの秘密鍵を設定します。
...の秘密鍵を設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param private_key 設定する整数値(OpenSSL::BN)
@see OpenSSL::PKey::DH#priv_key,
OpenSSL::PKey::DH#generate_key!... -
OpenSSL
:: PKey :: DH # pub _ key=(public _ key) (33079.0) -
DH 鍵共有プロトコルの公開鍵を設定します。
...ルの公開鍵を設定します。
通常このメソッドで値を変更することはありません。
よく考えて必要な場合のみ利用してください。
@param public_key 設定する整数値(OpenSSL::BN)
@see OpenSSL::PKey::DH#pub_key,
OpenSSL::PKey::DH#generate_key!...