Ruby 4.0 リファレンスマニュアル

module function OpenSSL::PKey?.generate_key

generate_key(algo_name, options = nil) -> OpenSSL::PKey::PKeyRuby 3.1 から[permalink][rdoc][edit]
generate_key(algo_name, options = nil) { ... } -> OpenSSL::PKey::PKey
generate_key(pkey, options = nil) -> OpenSSL::PKey::PKey
generate_key(pkey, options = nil) { ... } -> OpenSSL::PKey::PKey

新しい鍵(鍵対)を生成します。

第一引数に文字列を指定した場合は、OpenSSL::PKey?.generate_parameters と同様に、その名前のアルゴリズムに対して新しいランダムな鍵を生成します。

第一引数に OpenSSL::PKey::PKey オブジェクトを指定した場合は、その鍵が保持するパラメータを使って、同じアルゴリズムの新しいランダムな鍵を生成します。

options とブロックの詳細は OpenSSL::PKey?.generate_parameters を参照してください。

[PARAM] algo_name:
アルゴリズムを表す文字列
[PARAM] pkey:
パラメータを流用する元になる鍵
[PARAM] options:
アルゴリズム固有のオプションを指定するハッシュ(省略可)
[RETURN]
生成した鍵を保持する OpenSSL::PKey::PKey オブジェクト

[SEE_ALSO] OpenSSL::PKey?.generate_parameters

require "openssl"
pkey_params = OpenSSL::PKey.generate_parameters("DSA", "dsa_paramgen_bits" => 2048)
p pkey_params.priv_key # => nil
pkey = OpenSSL::PKey.generate_key(pkey_params)
p pkey.priv_key.class # => OpenSSL::BN