.ds Aq ’

*Manual Reference Pages - *RSA_generate_key (3SSL)

### NAME

### CONTENTS

### SYNOPSIS

### DESCRIPTION

### RETURN VALUE

### BUGS

### SEE ALSO

### HISTORY

blog comments powered by Disqus

RSA_generate_key - generate RSA key pair

#include <openssl/rsa.h> RSA *RSA_generate_key(int num, unsigned long e, void (*callback)(int,int,void *), void *cb_arg);

RSA_generate_key()generates a key pair and returns it in a newly allocatedRSAstructure. The pseudo-random number generator must be seeded prior to callingRSA_generate_key().The modulus size will be

numbits, and the public exponent will bee. Key sizes withnum< 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

callbackis notNULL, it will be called as follows:The process is then repeated for prime q with

o While a random prime number is generated, it is called as described in BN_generate_prime(3).o When the n-th randomly generated prime is rejected as not suitable for the key, callback(2, n, cb_arg)is called.o When a random p has been found with p-1 relatively prime to e, it is called ascallback(3, 0, cb_arg).callback(3, 1, cb_arg).

If key generation fails,RSA_generate_key()returnsNULL; the error codes can be obtained byERR_get_error(3).

callback(2, x, cb_arg)is used with two different meanings.

RSA_generate_key()goes into an infinite loop for illegal input values.

ERR_get_error(3),rand(3),rsa(3),RSA_free(3)

Thecb_argargument was added in SSLeay 0.9.0.

1.0.1e |
RSA_generate_key (3SSL) | 2013-02-11 |