Crypt::RSA::Key::Private -- RSA Private Key Management.
$key = new Crypt::RSA::Key::Private (
Identity => 'Lord Banquo <banquo@lochaber.com>',
Password => 'The earth hath bubbles',
);
$key->hide();
$key->write( Filename => 'rsakeys/banquo.private' );
$akey = new Crypt::RSA::Key::Private (
Filename => 'rsakeys/banquo.private'
);
$akey->reveal ( Password => 'The earth hath bubbles' );
Crypt::RSA::Key::Private provides basic private key management functionality for
Crypt::RSA private keys. Following methods are available:
- new()
- The constructor. Takes a hash, usually with two arguments:
"Filename" and
"Password".
"Filename" indicates a file from which
the private key should be read. More often than not, private keys are kept
encrypted with a symmetric cipher and MUST be decrypted before use. When a
"Password" argument is provided, the key
is also decrypted before it is returned by
"new()". Here's a complete list of
arguments accepted by "new()" (all of
which are optional):
- Identity
- A string identifying the owner of the key. Canonically, a name and email
address.
- Filename
- Name of the file that contains the private key.
- Password
- Password with which the private key is encrypted, or should be encrypted
(in case of a new key).
- Cipher
- Name of the symmetric cipher in which the private key is encrypted (or
should be encrypted). The default is "Blowfish" and possible
values include DES, IDEA, Twofish and other ciphers supported by
Crypt::CBC.
- reveal()
- If the key is not decrypted at "new()",
it can be decrypted by calling
"reveal()" with a
"Password" argument.
- hide()
- "hide()" causes the key to be encrypted
by the chosen symmetric cipher and password.
- write()
- Causes the key to be written to a disk file specified by the
"Filename" argument.
"write()" will call
"hide()" before writing the key to disk.
If you wish to store the key in plain, don't specify a password at
"new()".
- read()
- Causes the key to be read from a disk file specified by
"Filename" into the object. If
"Password" is provided, the method
automatically calls reveal() to decrypt the key.
- serialize()
- Creates a Data::Dumper(3) serialization of the private key and
returns the string representation.
- deserialize()
- Accepts a serialized key under the
"String" parameter and coverts it into
the perl representation stored in the object.
- "check()"
- Check the consistency of the key. If the key checks out, it sets
$self->{Checked} = 1. Returns undef on
failure.
Vipul Ved Prakash, <mail@vipul.net>
Crypt::RSA::Key(3), Crypt::RSA::Public(3)