singleton method OpenSSL::PKey::DSA.new

new -> OpenSSL::PKey::DSA[permalink][rdoc][edit]
new(size) -> OpenSSL::PKey::DSA
new(obj, pass=nil) -> OpenSSL::PKey::DSA
new(obj, pass=nil) {|flag| ... } -> OpenSSL::PKey::DSA

DSA オブジェクトを生成します。

引数なしの場合は空の DSA オブジェクトを返します。

第一引数に整数を指定した場合には、OpenSSL::PKey::DSA.generate により公開鍵と秘密鍵のペアを生成し、それを返します。

それ以外の場合には、以下のようにして鍵データを読みこみ、DSA オブジェクトを生成します。

  • 第一引数が文字列の場合は、PEM 形式もしくは DER 形式と仮定して 鍵データを読み込みます
  • 第一引数が IO オブジェクトの場合は、その内容を 読み込んで DSA オブジェクトを生成します。
  • 第一引数が to_der メソッドを持つ場合は、それにより DER 形式の 文字列に変換してから読み込みます

pass が指定された場合は、秘密鍵を pass を使って復号化します。

鍵データにパスフレーズが設定されているにもかかわらず、passが省略された場合は、渡されたブロックを呼びだしてパスフレーズを要求します。ブロックの返り値をパスフレーズとみなして復号します。ブロックの引数は通常は false が渡されますが、これはそのパスフレーズが秘密鍵の復号に使われることを意味します。ブロックが渡されなかった場合にはターミナルに問い合わせをします。

[PARAM] size:
鍵を生成する時の素数のビット数
[PARAM] obj:
鍵データ
[PARAM] pass:
鍵データに設定したパスフレーズ
[EXCEPTION] OpenSSL::PKey::DSAError:
鍵の読み込みに失敗した場合に発生します。