1999-11-10 02:52:17 +00:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2017-10-18 19:33:56 +00:00
|
|
|
openssl-genrsa,
|
1999-11-10 02:52:17 +00:00
|
|
|
genrsa - generate an RSA private key
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
B<openssl> B<genrsa>
|
2016-02-05 16:58:45 +00:00
|
|
|
[B<-help>]
|
1999-11-10 02:52:17 +00:00
|
|
|
[B<-out filename>]
|
2000-02-16 23:16:01 +00:00
|
|
|
[B<-passout arg>]
|
2014-07-03 02:42:40 +00:00
|
|
|
[B<-aes128>]
|
|
|
|
[B<-aes192>]
|
|
|
|
[B<-aes256>]
|
2017-02-01 00:10:13 +00:00
|
|
|
[B<-aria128>]
|
|
|
|
[B<-aria192>]
|
|
|
|
[B<-aria256>]
|
2014-07-03 02:42:40 +00:00
|
|
|
[B<-camellia128>]
|
|
|
|
[B<-camellia192>]
|
|
|
|
[B<-camellia256>]
|
1999-11-10 02:52:17 +00:00
|
|
|
[B<-des>]
|
|
|
|
[B<-des3>]
|
|
|
|
[B<-idea>]
|
|
|
|
[B<-f4>]
|
|
|
|
[B<-3>]
|
2017-07-05 14:58:48 +00:00
|
|
|
[B<-rand file...>]
|
|
|
|
[B<-writerand file>]
|
2003-01-30 22:02:27 +00:00
|
|
|
[B<-engine id>]
|
2017-08-01 18:19:43 +00:00
|
|
|
[B<-primes num>]
|
1999-11-10 02:52:17 +00:00
|
|
|
[B<numbits>]
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
The B<genrsa> command generates an RSA private key.
|
|
|
|
|
|
|
|
=head1 OPTIONS
|
|
|
|
|
|
|
|
=over 4
|
|
|
|
|
2016-02-05 16:58:45 +00:00
|
|
|
=item B<-help>
|
|
|
|
|
|
|
|
Print out a usage message.
|
|
|
|
|
2000-02-08 01:34:59 +00:00
|
|
|
=item B<-out filename>
|
|
|
|
|
2016-02-05 16:58:45 +00:00
|
|
|
Output the key to the specified file. If this argument is not specified then
|
|
|
|
standard output is used.
|
2000-02-08 01:34:59 +00:00
|
|
|
|
2000-02-16 23:16:01 +00:00
|
|
|
=item B<-passout arg>
|
2000-02-08 01:34:59 +00:00
|
|
|
|
2017-03-29 21:38:30 +00:00
|
|
|
The output file password source. For more information about the format
|
|
|
|
of B<arg> see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)>.
|
2000-02-08 01:34:59 +00:00
|
|
|
|
2017-02-01 00:10:13 +00:00
|
|
|
=item B<-aes128|-aes192|-aes256|-aria128|-aria192|-aria256|-camellia128|-camellia192|-camellia256|-des|-des3|-idea>
|
1999-11-10 02:52:17 +00:00
|
|
|
|
2014-07-03 02:42:40 +00:00
|
|
|
These options encrypt the private key with specified
|
|
|
|
cipher before outputting it. If none of these options is
|
2000-02-08 01:34:59 +00:00
|
|
|
specified no encryption is used. If encryption is used a pass phrase is prompted
|
2000-02-16 23:16:01 +00:00
|
|
|
for if it is not supplied via the B<-passout> argument.
|
1999-11-10 02:52:17 +00:00
|
|
|
|
|
|
|
=item B<-F4|-3>
|
|
|
|
|
2017-03-29 21:38:30 +00:00
|
|
|
The public exponent to use, either 65537 or 3. The default is 65537.
|
1999-11-10 02:52:17 +00:00
|
|
|
|
2017-07-05 14:58:48 +00:00
|
|
|
=item B<-rand file...>
|
1999-11-10 02:52:17 +00:00
|
|
|
|
2017-03-29 21:38:30 +00:00
|
|
|
A file or files containing random data used to seed the random number
|
2017-07-05 14:58:48 +00:00
|
|
|
generator.
|
2016-03-19 16:28:58 +00:00
|
|
|
Multiple files can be specified separated by an OS-dependent character.
|
2000-04-12 16:48:20 +00:00
|
|
|
The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for
|
2000-02-24 17:18:51 +00:00
|
|
|
all others.
|
2003-01-30 22:02:27 +00:00
|
|
|
|
2017-07-05 14:58:48 +00:00
|
|
|
=item [B<-writerand file>]
|
|
|
|
|
|
|
|
Writes random data to the specified I<file> upon exit.
|
|
|
|
This can be used with a subsequent B<-rand> flag.
|
|
|
|
|
2003-01-30 22:02:27 +00:00
|
|
|
=item B<-engine id>
|
|
|
|
|
2017-03-29 21:38:30 +00:00
|
|
|
Specifying an engine (by its unique B<id> string) will cause B<genrsa>
|
2003-01-30 22:02:27 +00:00
|
|
|
to attempt to obtain a functional reference to the specified engine,
|
|
|
|
thus initialising it if needed. The engine will then be set as the default
|
|
|
|
for all available algorithms.
|
1999-11-10 02:52:17 +00:00
|
|
|
|
2017-08-01 18:19:43 +00:00
|
|
|
=item B<-primes num>
|
|
|
|
|
|
|
|
Specify the number of primes to use while generating the RSA key. The B<num>
|
|
|
|
parameter must be a positive integer that is greater than 1 and less than 16.
|
|
|
|
If B<num> is greater than 2, then the generated key is called a 'multi-prime'
|
|
|
|
RSA key, which is defined in RFC 8017.
|
|
|
|
|
1999-11-10 02:52:17 +00:00
|
|
|
=item B<numbits>
|
|
|
|
|
2017-03-29 21:38:30 +00:00
|
|
|
The size of the private key to generate in bits. This must be the last option
|
2017-02-27 14:51:21 +00:00
|
|
|
specified. The default is 2048.
|
1999-11-10 02:52:17 +00:00
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
=head1 NOTES
|
|
|
|
|
2017-08-01 18:19:43 +00:00
|
|
|
RSA private key generation essentially involves the generation of two or more
|
|
|
|
prime numbers. When generating a private key various symbols will be output to
|
2000-02-16 23:16:01 +00:00
|
|
|
indicate the progress of the generation. A B<.> represents each number which
|
|
|
|
has passed an initial sieve test, B<+> means a number has passed a single
|
2017-08-01 18:19:43 +00:00
|
|
|
round of the Miller-Rabin primality test, B<*> means the current prime starts
|
|
|
|
a regenerating progress due to some failed tests. A newline means that the number
|
|
|
|
has passed all the prime tests (the actual number depends on the key size).
|
1999-11-10 02:52:17 +00:00
|
|
|
|
|
|
|
Because key generation is a random process the time taken to generate a key
|
2017-08-01 18:19:43 +00:00
|
|
|
may vary somewhat. But in general, more primes lead to less generation time
|
|
|
|
of a key.
|
1999-11-10 02:52:17 +00:00
|
|
|
|
|
|
|
=head1 BUGS
|
|
|
|
|
|
|
|
A quirk of the prime generation algorithm is that it cannot generate small
|
|
|
|
primes. Therefore the number of bits should not be less that 64. For typical
|
|
|
|
private keys this will not matter because for security reasons they will
|
|
|
|
be much larger (typically 1024 bits).
|
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2015-08-17 19:21:33 +00:00
|
|
|
L<gendsa(1)>
|
2000-03-18 22:00:26 +00:00
|
|
|
|
2016-05-18 15:44:05 +00:00
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
2017-02-01 00:10:13 +00:00
|
|
|
Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.
|
2016-05-18 15:44:05 +00:00
|
|
|
|
|
|
|
Licensed under the OpenSSL license (the "License"). You may not use
|
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|