NAME
Crypt::RSA::Key - RSA Key Pair Generator.
SYNOPSIS
my $keychain = new Crypt::RSA::Key;
my ($public, $private) = $keychain->generate (
Identity => 'Lord Macbeth <macbeth@glamis.com>',
Size => 2048,
Password => 'A day so foul & fair',
Verbosity => 1,
);
die $keychain->errstr() unless $public && $private;
DESCRIPTION
This module provides a method to generate an RSA key pair.
METHODS
new()
Constructor.
generate()
Generates an RSA key of specified bitsize. generate() returns a list of two elements, a Crypt::RSA::Key::Public object that holds the public part of the key pair and a Crypt::RSA::Key::Private object that holds that private part. On failure, it sets $self->errstr to appropriate error string. generate() takes a hash argument with the following keys:
- Size
-
Bitsize of the key to be generated. This should be an even integer > 48. Bitsize is a mandatory argument.
- Password
-
String with which the private key will be encrypted. Password is a mandatory argument.
- Identity
-
A string that identifies the owner of the key. This string usually takes the form of a name and an email address. The identity is not bound to the key with a signature. However, a future release or another module will provide this facility. Identity is a mandatory argument.
- Cipher
-
The block cipher which is used for encrypting the private key. Defaults to `Blowfish'. Cipher could be set to any value that works with Crypt::CBC(3) and Tie::EncryptedHash(3).
- Verbosity
-
When set to 1, generate() will draw a progress display on console.
- Filename
-
The generated key pair will be written to disk, in $Filename.public and $Filename.private files, if this argument is provided. Disk writes can be deferred by skipping this argument and achieved later with the write() method of Crypt::RSA::Key::Public(3) and Crypt::RSA::Key::Private(3).
ERROR HANDLING
See ERROR HANDLING in Crypt::RSA(3) manpage.
BUGS
There's an inefficiency in the way generate() ensures the key pair is exactly Size bits long. This will be fixed in a future release.
AUTHOR
Vipul Ved Prakash, <mail@vipul.net>
SEE ALSO
Crypt::RSA(3), Crypt::RSA::Key::Public(3), Crypt::RSA::Key::Private(3), Crypt::Primes(3), Tie::EncryptedHash(3)
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 159:
You forgot a '=back' before '=head1'