1Crypt::RSA::Key(3)    User Contributed Perl Documentation   Crypt::RSA::Key(3)
2
3
4

NAME

6       Crypt::RSA::Key - RSA Key Pair Generator.
7

SYNOPSIS

9           my $keychain = new Crypt::RSA::Key;
10           my ($public, $private) = $keychain->generate (
11                                     Identity  => 'Lord Macbeth <macbeth@glamis.com>',
12                                     Size      => 2048,
13                                     Password  => 'A day so foul & fair',
14                                     Verbosity => 1,
15                                    ) or die $keychain->errstr();
16

DESCRIPTION

18       This module provides a method to generate an RSA key pair.
19

METHODS

21   new()
22       Constructor.
23
24   generate()
25       generate() generates an RSA key of specified bitsize. It returns a list
26       of two elements, a Crypt::RSA::Key::Public object that holds the public
27       part of the key pair and a Crypt::RSA::Key::Private object that holds
28       that private part. On failure, it returns undef and sets $self->errstr
29       to appropriate error string. generate() takes a hash argument with the
30       following keys:
31
32       Size
33           Bitsize of the key to be generated. This should be an even integer
34           > 48.  Bitsize is a mandatory argument.
35
36       Password
37           String with which the private key will be encrypted. If Password is
38           not provided the key will be stored unencrypted.
39
40       Identity
41           A string that identifies the owner of the key. This string usually
42           takes the form of a name and an email address. The identity is not
43           bound to the key with a signature. However, a future release or
44           another module will provide this facility.
45
46       Cipher
47           The block cipher which is used for encrypting the private key.
48           Defaults to `Blowfish'. Cipher could be set to any value that works
49           with Crypt::CBC(3) and Tie::EncryptedHash(3).
50
51       Verbosity
52           When set to 1, generate() will draw a progress display on STDOUT.
53
54       Filename
55           The generated key pair will be written to disk, in $Filename.public
56           and $Filename.private files, if this argument is provided. Disk
57           writes can be deferred by skipping this argument and achieved later
58           with the write() method of Crypt::RSA::Key::Public(3) and
59           Crypt::RSA::Key::Private(3).
60
61       KF  A string that specifies the key format. As of this writing, two key
62           formats, `Native' and `SSH', are supported. KF defaults to
63           `Native'.
64
65       SKF Secret (Private) Key Format. Instead of specifying KF, the user
66           could choose to specify secret and public key formats separately.
67           The value for SKF can be a string ("Native" or "SSH") or a hash
68           reference that specifies a module name, its constructor and
69           constructor arguments. The specified module is loaded with
70           Class::Loader(3) and must be interface compatible with
71           Crypt::RSA::Key::Private(3).
72
73       PKF Public Key Format. This option is like SKF but for the public key.
74

ERROR HANDLING

76       See ERROR HANDLING in Crypt::RSA(3) manpage.
77

BUGS

79       There's an inefficiency in the way generate() ensures the key pair is
80       exactly Size bits long. This will be fixed in a future release.
81

AUTHOR

83       Vipul Ved Prakash, <mail@vipul.net>
84

SEE ALSO

86       Crypt::RSA(3), Crypt::RSA::Key::Public(3), Crypt::RSA::Key::Private(3),
87       Crypt::Primes(3), Tie::EncryptedHash(3), Class::Loader(3)
88
89
90
91perl v5.32.1                      2021-01-27                Crypt::RSA::Key(3)
Impressum