=pod =head1 NAME openssl-genrsa, genrsa - generate an RSA private key =head1 SYNOPSIS B B [B<-help>] [B<-out filename>] [B<-passout arg>] [B<-aes128>] [B<-aes192>] [B<-aes256>] [B<-camellia128>] [B<-camellia192>] [B<-camellia256>] [B<-des>] [B<-des3>] [B<-idea>] [B<-f4>] [B<-3>] [B<-rand file...>] [B<-writerand file>] [B<-engine id>] [B<-primes num>] [B] =head1 DESCRIPTION The B command generates an RSA private key. =head1 OPTIONS =over 4 =item B<-help> Print out a usage message. =item B<-out filename> Output the key to the specified file. If this argument is not specified then standard output is used. =item B<-passout arg> The output file password source. For more information about the format of B see the B section in L. =item B<-aes128>, B<-aes192>, B<-aes256>, B<-camellia128>, B<-camellia192>, B<-camellia256>, B<-des>, B<-des3>, B<-idea> These options encrypt the private key with specified cipher before outputting it. If none of these options is specified no encryption is used. If encryption is used a pass phrase is prompted for if it is not supplied via the B<-passout> argument. =item B<-F4|-3> The public exponent to use, either 65537 or 3. The default is 65537. =item B<-rand file...> A file or files containing random data used to seed the random number generator. Multiple files can be specified separated by an OS-dependent character. The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for all others. =item [B<-writerand file>] Writes random data to the specified I upon exit. This can be used with a subsequent B<-rand> flag. =item B<-engine id> Specifying an engine (by its unique B string) will cause B 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. =item B<-primes num> Specify the number of primes to use while generating the RSA key. The B parameter must be a positive integer that is greater than 1 and less than 16. If B is greater than 2, then the generated key is called a 'multi-prime' RSA key, which is defined in RFC 8017. =item B The size of the private key to generate in bits. This must be the last option specified. The default is 2048 and values less than 512 are not allowed. =back =head1 NOTES 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 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 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). Because key generation is a random process the time taken to generate a key may vary somewhat. But in general, more primes lead to less generation time of a key. =head1 SEE ALSO L =head1 COPYRIGHT Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. 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. =cut