Method: OpenSSL::PKey::DSA.generate
- Defined in:
- lib/openssl/pkey.rb
.generate(size, &blk) ⇒ Object
:call-seq:
DSA.generate(size) -> dsa
Creates a new DSA instance by generating a private/public key pair from scratch.
See also OpenSSL::PKey.generate_parameters and OpenSSL::PKey.generate_key.
size-
The desired key size in bits.
169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
# File 'lib/openssl/pkey.rb', line 169 def generate(size, &blk) # FIPS 186-4 specifies four (L,N) pairs: (1024,160), (2048,224), # (2048,256), and (3072,256). # # q size is derived here with compatibility with # DSA_generator_parameters_ex() which previous versions of ruby/openssl # used to call. qsize = size >= 2048 ? 256 : 160 dsaparams = OpenSSL::PKey.generate_parameters("DSA", { "dsa_paramgen_bits" => size, "dsa_paramgen_q_bits" => qsize, }, &blk) OpenSSL::PKey.generate_key(dsaparams) end |