DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

Crypt::DSA::Key



NAME

Crypt::DSA::Key - DSA key


SYNOPSIS

    use Crypt::DSA::Key;
    my $key = Crypt::DSA::Key->new;
    $key->p($p);


DESCRIPTION

Crypt::DSA::Key contains a DSA key, both the public and private portions. Subclasses of Crypt::DSA::Key implement read and write methods, such that you can store DSA keys on disk, and read them back into your application.


USAGE

Any of the key attributes can be accessed through combination get/set methods. The key attributes are: p, q, g, priv_key, and pub_key. For example:

    $key->p($p);
    my $p2 = $key->p;

$key = Crypt::DSA::Key->new(%arg)

Creates a new (empty) key object. All of the attributes are initialized to 0.

Alternately, if you provide the Filename parameter (see below), the key will be read in from disk. If you provide the Type parameter (mandatory if Filename is provided), be aware that your key will actually be blessed into a subclass of Crypt::DSA::Key. Specifically, it will be the class implementing the specific read functionality for that type, eg. Crypt::DSA::Key::PEM.

Returns the key on success, undef otherwise. (See Password for one reason why new might return undef).

%arg can contain:

$key->write(%arg)

Writes a key (optionally) to disk, using a format that you define with the Type parameter.

If your $key object has a defined priv_key (private key portion), the key will be written as a DSA private key object; otherwise, it will be written out as a public key. Note that not all serialization mechanisms can produce public keys in this version--currently, only PEM public keys are supported.

%arg can include:

$key->size

Returns the size of the key, in bits. This is actually the number of bits in the large prime p.


AUTHOR & COPYRIGHTS

Please see the Crypt::DSA manpage for author, copyright, and license information.