RAND_set_rand_method(3) — Subroutines
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 number 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 (∗status)(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)