]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/BN_new.pod
Various typo
[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 38BN_new() and BN_secure_new()
681acb31
HK
39return a pointer to the B<BIGNUM> initialised to the value 0.
40If the allocation fails,
91da5e77 41they return B<NULL> and set an error code that can be obtained
9b86974e 42by L<ERR_get_error(3)>.
dd8dec69 43
e35af275
MC
44BN_clear(), BN_free() and BN_clear_free() have no return values.
45
dd8dec69
UM
46=head1 SEE ALSO
47
9e183d22 48L<ERR_get_error(3)>
dd8dec69
UM
49
50=head1 HISTORY
51
d59c7c81 52BN_init() was removed in OpenSSL 1.1.0; use BN_new() instead.
dd8dec69 53
e2f92610
RS
54=head1 COPYRIGHT
55
9e183d22 56Copyright 2000-2017 The OpenSSL Project Authors. All Rights Reserved.
e2f92610
RS
57
58Licensed under the OpenSSL license (the "License"). You may not use
59this file except in compliance with the License. You can obtain a copy
60in the file LICENSE in the source distribution or at
61L<https://www.openssl.org/source/license.html>.
62
63=cut