summaryrefslogtreecommitdiffstats
path: root/doc/crypto/RSA_generate_key.pod
diff options
context:
space:
mode:
authorUlf Möller <ulf@openssl.org>2000-01-11 22:35:21 +0000
committerUlf Möller <ulf@openssl.org>2000-01-11 22:35:21 +0000
commit2186cd8ef1c4db86109af7a38182c2bd9ddbbb32 (patch)
tree407efa98f1a4fe9b118651f06c57e85d6d0139e5 /doc/crypto/RSA_generate_key.pod
parentde73e397f86c578ee514816ca1a312689a89686f (diff)
Document the RSA library.
Diffstat (limited to 'doc/crypto/RSA_generate_key.pod')
-rw-r--r--doc/crypto/RSA_generate_key.pod68
1 files changed, 68 insertions, 0 deletions
diff --git a/doc/crypto/RSA_generate_key.pod b/doc/crypto/RSA_generate_key.pod
new file mode 100644
index 0000000000..cdf527069a
--- /dev/null
+++ b/doc/crypto/RSA_generate_key.pod
@@ -0,0 +1,68 @@
+=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 or 65535.
+
+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)>.
+
+=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 VALUES
+
+If key generation fails, RSA_generate_key() returns B<NULL>; the
+error codes can be obtained by 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
+
+err(3), rand(3), rsa(3), RSA_free(3)
+
+=head1 HISTORY
+
+The B<cb_arg> argument was added in SSLeay 0.9.0.
+
+=cut