]>
Commit | Line | Data |
---|---|---|
60b52453 UM |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
ddc6a5c8 | 5 | RAND_bytes, RAND_priv_bytes, RAND_pseudo_bytes - generate random data |
60b52453 UM |
6 | |
7 | =head1 SYNOPSIS | |
8 | ||
9 | #include <openssl/rand.h> | |
10 | ||
11 | int RAND_bytes(unsigned char *buf, int num); | |
ddc6a5c8 | 12 | int RAND_priv_bytes(unsigned char *buf, int num); |
60b52453 | 13 | |
302d38e3 MC |
14 | Deprecated: |
15 | ||
98186eb4 | 16 | #if OPENSSL_API_COMPAT < 0x10100000L |
60b52453 | 17 | int RAND_pseudo_bytes(unsigned char *buf, int num); |
98186eb4 | 18 | #endif |
60b52453 UM |
19 | |
20 | =head1 DESCRIPTION | |
21 | ||
720b3598 | 22 | RAND_bytes() puts B<num> cryptographically strong pseudo-random bytes |
a73d990e | 23 | into B<buf>. An error occurs if the CSPRNG has not been seeded with |
720b3598 BM |
24 | enough randomness to ensure an unpredictable byte sequence. |
25 | ||
ddc6a5c8 RS |
26 | RAND_priv_bytes() has the same semantics as RAND_bytes(). It is intended to |
27 | be used for generating long-term private keys. If using the default | |
28 | RAND_METHOD, this function uses a separate instance of the PRNG so that | |
29 | a compromise of the global generator will not affect such key generation. | |
30 | ||
60b52453 UM |
31 | =head1 RETURN VALUES |
32 | ||
a73d990e | 33 | RAND_bytes() and RAND_priv_bytes() |
ddc6a5c8 | 34 | return 1 on success, -1 if not supported by the current |
0ea155fc RS |
35 | RAND method, or 0 on other failure. The error code can be |
36 | obtained by L<ERR_get_error(3)>. | |
37 | ||
a95d7574 | 38 | =head1 HISTORY |
0ea155fc | 39 | |
5ecff87d | 40 | RAND_pseudo_bytes() was deprecated in OpenSSL 1.1.0; use RAND_bytes() instead. |
60b52453 UM |
41 | |
42 | =head1 SEE ALSO | |
43 | ||
a73d990e DMSP |
44 | L<RAND_add(3)>, |
45 | L<RAND_bytes(3)>, | |
46 | L<ERR_get_error(3)>, | |
47 | L<RAND(7)> | |
60b52453 | 48 | |
e2f92610 RS |
49 | =head1 COPYRIGHT |
50 | ||
a73d990e | 51 | Copyright 2000-2018 The OpenSSL Project Authors. All Rights Reserved. |
e2f92610 RS |
52 | |
53 | Licensed under the OpenSSL license (the "License"). You may not use | |
54 | this file except in compliance with the License. You can obtain a copy | |
55 | in the file LICENSE in the source distribution or at | |
56 | L<https://www.openssl.org/source/license.html>. | |
57 | ||
58 | =cut |