]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/BN_new.pod
Fix referenses in section 3 manuals
[thirdparty/openssl.git] / doc / man3 / BN_new.pod
CommitLineData
dd8dec69
UM
1=pod
2
3=head1 NAME
4
91da5e77 5BN_new, BN_secure_new, BN_clear, BN_free, BN_clear_free - allocate and free BIGNUMs
dd8dec69
UM
6
7=head1 SYNOPSIS
8
9 #include <openssl/bn.h>
10
11 BIGNUM *BN_new(void);
12
91da5e77
RS
13 BIGNUM *BN_secure_new(void);
14
dd8dec69
UM
15 void BN_clear(BIGNUM *a);
16
17 void BN_free(BIGNUM *a);
18
19 void BN_clear_free(BIGNUM *a);
20
21=head1 DESCRIPTION
22
e35af275 23BN_new() allocates and initializes a B<BIGNUM> structure.
91da5e77
RS
24BN_secure_new() does the same except that the secure heap
25OPENSSL_secure_malloc(3) is used to store the value.
dd8dec69
UM
26
27BN_clear() is used to destroy sensitive data such as keys when they
28are no longer needed. It erases the memory used by B<a> and sets it
29to the value 0.
30
31BN_free() frees the components of the B<BIGNUM>, and if it was created
32by BN_new(), also the structure itself. BN_clear_free() additionally
33overwrites the data before the memory is returned to the system.
23a1d5e9 34If B<a> is NULL, nothing is done.
dd8dec69
UM
35
36=head1 RETURN VALUES
37
91da5e77
RS
38BN_new() and BN_secure_new()
39return a pointer to the B<BIGNUM>. If the allocation fails,
40they return B<NULL> and set an error code that can be obtained
9b86974e 41by L<ERR_get_error(3)>.
dd8dec69 42
e35af275
MC
43BN_clear(), BN_free() and BN_clear_free() have no return values.
44
dd8dec69
UM
45=head1 SEE ALSO
46
b97fdb57 47L<bn(7)>, L<ERR_get_error(3)>
dd8dec69
UM
48
49=head1 HISTORY
50
d59c7c81 51BN_init() was removed in OpenSSL 1.1.0; use BN_new() instead.
dd8dec69 52
e2f92610
RS
53=head1 COPYRIGHT
54
55Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
56
57Licensed under the OpenSSL license (the "License"). You may not use
58this file except in compliance with the License. You can obtain a copy
59in the file LICENSE in the source distribution or at
60L<https://www.openssl.org/source/license.html>.
61
62=cut