|
@@ -2,7 +2,8 @@
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
-RAND_bytes, RAND_priv_bytes, RAND_pseudo_bytes - generate random data
|
|
|
+RAND_bytes, RAND_priv_bytes, RAND_bytes_ex, RAND_priv_bytes_ex,
|
|
|
+RAND_pseudo_bytes - generate random data
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
@@ -11,6 +12,9 @@ RAND_bytes, RAND_priv_bytes, RAND_pseudo_bytes - generate random data
|
|
|
int RAND_bytes(unsigned char *buf, int num);
|
|
|
int RAND_priv_bytes(unsigned char *buf, int num);
|
|
|
|
|
|
+ int RAND_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num);
|
|
|
+ int RAND_priv_bytes_ex(OPENSSL_CTX *ctx, unsigned char *buf, int num);
|
|
|
+
|
|
|
Deprecated since OpenSSL 1.1.0, can be hidden entirely by defining
|
|
|
B<OPENSSL_API_COMPAT> with a suitable version value, see
|
|
|
L<openssl_user_macros(7)>:
|
|
@@ -29,6 +33,15 @@ instance so that a compromise of the "public" PRNG instance will not
|
|
|
affect the secrecy of these private values, as described in L<RAND(7)>
|
|
|
and L<RAND_DRBG(7)>.
|
|
|
|
|
|
+RAND_bytes_ex() and RAND_priv_bytes_ex() are the same as RAND_bytes() and
|
|
|
+RAND_priv_bytes() except that they both take an additional I<ctx> parameter.
|
|
|
+The DRBG used for the operation is the public or private DRBG associated with
|
|
|
+the specified I<ctx>. The parameter can be NULL, in which case
|
|
|
+the default library context is used (see L<OPENSSL_CTX(3)>.
|
|
|
+If the default RAND_METHOD has been changed then for compatibility reasons the
|
|
|
+RAND_METHOD will be used in preference and the DRBG of the library context
|
|
|
+ignored.
|
|
|
+
|
|
|
=head1 NOTES
|
|
|
|
|
|
Always check the error return value of RAND_bytes() and
|
|
@@ -64,6 +77,10 @@ RAND_pseudo_bytes() was deprecated in OpenSSL 1.1.0; use RAND_bytes() instead.
|
|
|
|
|
|
The RAND_priv_bytes() function was added in OpenSSL 1.1.1.
|
|
|
|
|
|
+=item *
|
|
|
+
|
|
|
+The RAND_bytes_ex() and RAND_priv_bytes_ex() functions were added in OpenSSL 3.0
|
|
|
+
|
|
|
=back
|
|
|
|
|
|
=head1 COPYRIGHT
|