The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Crypt::RSA::Key::Private -- RSA Private Key Management.

SYNOPSIS

$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' );

DESCRIPTION

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.

AUTHOR

Vipul Ved Prakash, <mail@vipul.net>

SEE ALSO

Crypt::RSA::Key(3), Crypt::RSA::Public(3)