class Net::SSH::Transport::Kex::DiffieHellmanGroup1SHA1
def generate_key #:nodoc:
number of bytes.
Generate a DH key with a private key consisting of the given
def generate_key #:nodoc: dh = OpenSSL::PKey::DH.new if dh.respond_to?(:set_pqg) p, g = get_parameters dh.set_pqg(p, nil, g) else dh.p, dh.g = get_parameters end dh.generate_key! until dh.valid? && dh.priv_key.num_bytes == data[:need_bytes] if dh.respond_to?(:set_key) dh.set_key(nil, OpenSSL::BN.rand(data[:need_bytes] * 8)) else dh.priv_key = OpenSSL::BN.rand(data[:need_bytes] * 8) end dh.generate_key! end dh end