names=generate
visibility=public
kind=defined

--- generate(size, generator = 2) -> PKey::DH
--- generate(size, generator = 2){|u,n| ... } -> PKey::DH
DH 鍵共有プロトコルのパラメータを生成し、DH オブジェクトを返します。

size は無作為に生成する素数 p (鍵パラメータ)のサイズで、単位はビットです。
generatorは1より大きい小さい数で、通常2か5を指定します。

生成した値は [[m:OpenSSL::PKey::DH#params_ok?]] で
安全かどうかチェックしてから利用してください。

このメソッドにブロックが渡された場合には、パラメータ生成の途中経過の
情報を引数としてブロックが呼び出されます。
  * n個目の素数候補を生成した場合、u=0 でブロックが呼びだされる
  * 生成した素数候補がn回目の素数テスト(Miller-Robin)に成功した
    場合、u=1 でブロックが呼び出される
  * n個目に生成した素数が鍵として不適切な場合には、u=2 でブロックが
    呼びだされる
  * パラメータとして適当な素数 p が見付かった場合には、
    u=3, n=0 でブロックが呼び出される
DH パラメータの生成には時間がかかるため、鍵生成の途中経過を
ユーザに表示したい場合にこの機能を使います。

この場合鍵対も同時に生成されます。

@param size 鍵パラメータの素数のサイズ(ビット数)
@param generator 鍵パラメータの生成元(2以上の整数、通常2か5)
@raise OpenSSL::PKey::DHError パラメータの生成に失敗した場合に発生します
@see [[m:OpenSSL::PKey::DH#generate_key!]]

