58 lines
1.5 KiB
Text
58 lines
1.5 KiB
Text
|
=pod
|
||
|
|
||
|
=head1 NAME
|
||
|
|
||
|
RAND_set_rand_method, RAND_get_rand_method, RAND_SSLeay - Select RAND method
|
||
|
|
||
|
=head1 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);
|
||
|
|
||
|
=head1 DESCRIPTION
|
||
|
|
||
|
A B<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. RAND_SSLeay()
|
||
|
returns a pointer to that method.
|
||
|
|
||
|
RAND_set_rand_method() sets the RAND method to B<meth>.
|
||
|
RAND_get_rand_method() returns a pointer to the current method.
|
||
|
|
||
|
=head1 THE RAND_METHOD STUCTURE
|
||
|
|
||
|
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);
|
||
|
} RAND_METHOD;
|
||
|
|
||
|
The components point to the implementation of RAND_seed(),
|
||
|
RAND_bytes(), RAND_cleanup(), RAND_add() and RAND_pseudo_rand().
|
||
|
Each component may be NULL if the function is not implemented.
|
||
|
|
||
|
=head1 RETURN VALUES
|
||
|
|
||
|
RAND_set_rand_method() returns no value. RAND_get_rand_method() and
|
||
|
RAND_SSLeay() return pointers to the respective methods.
|
||
|
|
||
|
=head1 SEE ALSO
|
||
|
|
||
|
rand(3)
|
||
|
|
||
|
=head1 HISTORY
|
||
|
|
||
|
RAND_set_rand_method(), RAND_get_rand_method() and RAND_SSLeay() are
|
||
|
available in all versions of OpenSSL.
|
||
|
|
||
|
=cut
|