$keychain=Crypt::DSA::KeyChain->new
Constructs a new Crypt::DSA::KeyChain object. At the moment this isn't particularly useful in itself,
other than being the object you need in order to call the other methods.
Returns the new object.
$key=$keychain->generate_params(%arg)
Generates a set of DSA parameters: the p, q, and g values of the key. This involves finding primes, and
as such it can be a relatively long process.
When invoked in scalar context, returns a new Crypt::DSA::Key object.
In list context, returns the new Crypt::DSA::Key object, along with: the value of the internal counter
when a suitable prime p was found; the value of h when g was derived; and the value of the seed (a
20-byte string) when q was found. These values aren't particularly useful in normal circumstances, but
they could be useful.
%arg can contain:
• Size
The size in bits of the p value to generate. The q and g values are always 160 bits each.
This argument is mandatory.
• Seed
A seed with which q generation will begin. If this seed does not lead to a suitable prime, it will be
discarded, and a new random seed chosen in its place, until a suitable prime can be found.
This is entirely optional, and if not provided a random seed will be generated automatically.
• Verbosity
Should be either 0 or 1. A value of 1 will give you a progress meter during p and q generation--this
can be useful, since the process can be relatively long.
The default is 0.
$keychain->generate_keys($key)
Generates the public and private portions of the key $key, a Crypt::DSA::Key object.