]>
Commit | Line | Data |
---|---|---|
dd8dec69 UM |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
5 | BN_new, BN_init, BN_clear, BN_free, BN_clear_free - allocate and free BIGNUMs | |
6 | ||
7 | =head1 SYNOPSIS | |
8 | ||
9 | #include <openssl/bn.h> | |
10 | ||
11 | BIGNUM *BN_new(void); | |
12 | ||
dd8dec69 UM |
13 | void BN_clear(BIGNUM *a); |
14 | ||
15 | void BN_free(BIGNUM *a); | |
16 | ||
17 | void BN_clear_free(BIGNUM *a); | |
18 | ||
19 | =head1 DESCRIPTION | |
20 | ||
e35af275 | 21 | BN_new() allocates and initializes a B<BIGNUM> structure. |
dd8dec69 UM |
22 | |
23 | BN_clear() is used to destroy sensitive data such as keys when they | |
24 | are no longer needed. It erases the memory used by B<a> and sets it | |
25 | to the value 0. | |
26 | ||
27 | BN_free() frees the components of the B<BIGNUM>, and if it was created | |
28 | by BN_new(), also the structure itself. BN_clear_free() additionally | |
29 | overwrites the data before the memory is returned to the system. | |
23a1d5e9 | 30 | If B<a> is NULL, nothing is done. |
dd8dec69 UM |
31 | |
32 | =head1 RETURN VALUES | |
33 | ||
34 | BN_new() returns a pointer to the B<BIGNUM>. If the allocation fails, | |
35 | it returns B<NULL> and sets an error code that can be obtained | |
9b86974e | 36 | by L<ERR_get_error(3)>. |
dd8dec69 | 37 | |
e35af275 MC |
38 | BN_clear(), BN_free() and BN_clear_free() have no return values. |
39 | ||
40 | =head1 REMOVED FUNCTIONALITY | |
41 | ||
42 | void BN_init(BIGNUM *); | |
43 | ||
44 | BN_init() is no longer available as of OpenSSL 1.1.0. It was used to initialize | |
45 | an existing uninitialized B<BIGNUM>. Typically this would be done as follows: | |
46 | ||
47 | BIGNUM a; | |
48 | BN_init(&a); | |
49 | ||
50 | Applications should replace use of BN_init with BN_new instead: | |
51 | ||
52 | BIGNUM *a; | |
53 | a = BN_new(); | |
54 | if(!a) /* Handle error */ | |
55 | ... | |
56 | BN_free(a); | |
dd8dec69 UM |
57 | |
58 | =head1 SEE ALSO | |
59 | ||
9b86974e | 60 | L<bn(3)>, L<ERR_get_error(3)> |
dd8dec69 UM |
61 | |
62 | =head1 HISTORY | |
63 | ||
e93f9a32 | 64 | BN_new(), BN_clear(), BN_free() and BN_clear_free() are available in |
dd8dec69 | 65 | all versions on SSLeay and OpenSSL. BN_init() was added in SSLeay |
e35af275 | 66 | 0.9.1b and removed in OpenSSL 1.1.0. |
dd8dec69 UM |
67 | |
68 | =cut |