RAND_set_rand_method(3)RAND_set_rand_method(3)NAME
RAND_set_rand_method, RAND_get_rand_method, RAND_SSLeay - Select RAND
method
SYNOPSIS
#include <openssl/rand.h>
void RAND_set_rand_method(
RAND_METHOD *meth ); RAND_METHOD *RAND_get_rand_method(
void ); RAND_METHOD *RAND_SSLeay(
void );
DESCRIPTION
A RAND_METHOD specifies the functions that OpenSSL uses for random num‐
ber generation. By modifying the method, alternative implementations
such as hardware RNGs may be used. Initially, the default is to use
the OpenSSL internal implementation. The RAND_SSLeay() function returns
a pointer to that method.
The RAND_set_rand_method() function sets the RAND method to meth. The
RAND_get_rand_method() function returns a pointer to the current
method.
RAND_method Structure
typedef struct rand_meth_st
{
void (*seed)(const void *buf, int num);
int (*bytes)(unsigned char *buf, int num);
void (*cleanup)(void);
void (*add)(const void *buf, int num, int entropy);
int (*pseudorand)(unsigned char *buf, int num); int (*sta‐
tus)(void);
} RAND_METHOD;
The components point to the implementation of the RAND_seed(),
RAND_bytes(), RAND_cleanup(), RAND_add(), RAND_pseudo_rand(), and
RAND_status() functions. Each component may be NULL if the function is
not implemented.
RETURN VALUES
The RAND_set_rand_method() function returns no value. The
RAND_get_rand_method() and RAND_SSLeay() functions return pointers to
the respective methods.
HISTORY
The RAND_set_rand_method(), RAND_get_rand_method(), and RAND_SSLeay()
functions are available in all versions of OpenSSL.
SEE ALSO
Functions: rand_ssl(3)RAND_set_rand_method(3)