genrsa.pod revision 325337
1=pod
2
3=head1 NAME
4
5openssl-genrsa,
6genrsa - generate an RSA private key
7
8=head1 SYNOPSIS
9
10B<openssl> B<genrsa>
11[B<-help>]
12[B<-out filename>]
13[B<-passout arg>]
14[B<-aes128>]
15[B<-aes192>]
16[B<-aes256>]
17[B<-aria128>]
18[B<-aria192>]
19[B<-aria256>]
20[B<-camellia128>]
21[B<-camellia192>]
22[B<-camellia256>]
23[B<-des>]
24[B<-des3>]
25[B<-idea>]
26[B<-f4>]
27[B<-3>]
28[B<-rand file(s)>]
29[B<-engine id>]
30[B<numbits>]
31
32=head1 DESCRIPTION
33
34The B<genrsa> command generates an RSA private key.
35
36=head1 OPTIONS
37
38=over 4
39
40=item B<-help>
41
42Print out a usage message.
43
44=item B<-out filename>
45
46Output the key to the specified file. If this argument is not specified then
47standard output is used.
48
49=item B<-passout arg>
50
51the output file password source. For more information about the format of B<arg>
52see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)>.
53
54=item B<-aes128|-aes192|-aes256|-aria128|-aria192|-aria256|-camellia128|-camellia192|-camellia256|-des|-des3|-idea>
55
56These options encrypt the private key with specified
57cipher before outputting it. If none of these options is
58specified no encryption is used. If encryption is used a pass phrase is prompted
59for if it is not supplied via the B<-passout> argument.
60
61=item B<-F4|-3>
62
63the public exponent to use, either 65537 or 3. The default is 65537.
64
65=item B<-rand file(s)>
66
67a file or files containing random data used to seed the random number
68generator, or an EGD socket (see L<RAND_egd(3)>).
69Multiple files can be specified separated by an OS-dependent character.
70The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for
71all others.
72
73=item B<-engine id>
74
75specifying an engine (by its unique B<id> string) will cause B<genrsa>
76to attempt to obtain a functional reference to the specified engine,
77thus initialising it if needed. The engine will then be set as the default
78for all available algorithms.
79
80=item B<numbits>
81
82the size of the private key to generate in bits. This must be the last option
83specified. The default is 2048.
84
85=back
86
87=head1 NOTES
88
89RSA private key generation essentially involves the generation of two prime
90numbers. When generating a private key various symbols will be output to
91indicate the progress of the generation. A B<.> represents each number which
92has passed an initial sieve test, B<+> means a number has passed a single
93round of the Miller-Rabin primality test. A newline means that the number has
94passed all the prime tests (the actual number depends on the key size).
95
96Because key generation is a random process the time taken to generate a key
97may vary somewhat.
98
99=head1 BUGS
100
101A quirk of the prime generation algorithm is that it cannot generate small
102primes. Therefore the number of bits should not be less that 64. For typical
103private keys this will not matter because for security reasons they will
104be much larger (typically 1024 bits).
105
106=head1 SEE ALSO
107
108L<gendsa(1)>
109
110=head1 COPYRIGHT
111
112Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.
113
114Licensed under the OpenSSL license (the "License").  You may not use
115this file except in compliance with the License.  You can obtain a copy
116in the file LICENSE in the source distribution or at
117L<https://www.openssl.org/source/license.html>.
118
119=cut
120