9c4d0c68bd
manual when the specific function is refered to in the current manual text. This correction was originally introduced in OpenBSD's tracking of OpenSSL.
69 lines
1.7 KiB
Text
69 lines
1.7 KiB
Text
=pod
|
|
|
|
=head1 NAME
|
|
|
|
RSA_generate_key - generate RSA key pair
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/rsa.h>
|
|
|
|
RSA *RSA_generate_key(int num, unsigned long e,
|
|
void (*callback)(int,int,void *), void *cb_arg);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
RSA_generate_key() generates a key pair and returns it in a newly
|
|
allocated B<RSA> structure. The pseudo-random number generator must
|
|
be seeded prior to calling RSA_generate_key().
|
|
|
|
The modulus size will be B<num> bits, and the public exponent will be
|
|
B<e>. Key sizes with B<num> E<lt> 1024 should be considered insecure.
|
|
The exponent is an odd number, typically 3, 17 or 65537.
|
|
|
|
A callback function may be used to provide feedback about the
|
|
progress of the key generation. If B<callback> is not B<NULL>, it
|
|
will be called as follows:
|
|
|
|
=over 4
|
|
|
|
=item *
|
|
|
|
While a random prime number is generated, it is called as
|
|
described in L<BN_generate_prime(3)|BN_generate_prime(3)>.
|
|
|
|
=item *
|
|
|
|
When the n-th randomly generated prime is rejected as not
|
|
suitable for the key, B<callback(2, n, cb_arg)> is called.
|
|
|
|
=item *
|
|
|
|
When a random p has been found with p-1 relatively prime to B<e>,
|
|
it is called as B<callback(3, 0, cb_arg)>.
|
|
|
|
=back
|
|
|
|
The process is then repeated for prime q with B<callback(3, 1, cb_arg)>.
|
|
|
|
=head1 RETURN VALUE
|
|
|
|
If key generation fails, RSA_generate_key() returns B<NULL>; the
|
|
error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
|
|
|
|
=head1 BUGS
|
|
|
|
B<callback(2, x, cb_arg)> is used with two different meanings.
|
|
|
|
RSA_generate_key() goes into an infinite loop for illegal input values.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
|
|
L<RSA_free(3)|RSA_free(3)>
|
|
|
|
=head1 HISTORY
|
|
|
|
The B<cb_arg> argument was added in SSLeay 0.9.0.
|
|
|
|
=cut
|