Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

BN_new (3openssl)

Name

BN_new - allocate and free BIGNUMs

Synopsis

#include <openssl/bn.h>

BIGNUM *BN_new(void);

void BN_init(BIGNUM *);

void BN_clear(BIGNUM *a);

void BN_free(BIGNUM *a);

void BN_clear_free(BIGNUM *a);

Description

BN_new(3openssl)                    OpenSSL                   BN_new(3openssl)



NAME
       BN_new, BN_init, BN_clear, BN_free, BN_clear_free - allocate and free
       BIGNUMs

SYNOPSIS
        #include <openssl/bn.h>

        BIGNUM *BN_new(void);

        void BN_init(BIGNUM *);

        void BN_clear(BIGNUM *a);

        void BN_free(BIGNUM *a);

        void BN_clear_free(BIGNUM *a);

DESCRIPTION
       BN_new() allocates and initializes a BIGNUM structure. BN_init()
       initializes an existing uninitialized BIGNUM.

       BN_clear() is used to destroy sensitive data such as keys when they are
       no longer needed. It erases the memory used by a and sets it to the
       value 0.

       BN_free() frees the components of the BIGNUM, and if it was created by
       BN_new(), also the structure itself. BN_clear_free() additionally
       overwrites the data before the memory is returned to the system.  If a
       is NULL, nothing is done.

RETURN VALUES
       BN_new() returns a pointer to the BIGNUM initialised to the value 0.
       If the allocation fails, it returns NULL and sets an error code that
       can be obtained by ERR_get_error(3).

       BN_init(), BN_clear(), BN_free() and BN_clear_free() have no return
       values.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+--------------------------+
       |ATTRIBUTE TYPE |     ATTRIBUTE VALUE      |
       +---------------+--------------------------+
       |Availability   | library/security/openssl |
       +---------------+--------------------------+
       |Stability      | Pass-through uncommitted |
       +---------------+--------------------------+

SEE ALSO
       bn(3), ERR_get_error(3)

HISTORY
       BN_new(), BN_clear(), BN_free() and BN_clear_free() are available in
       all versions on SSLeay and OpenSSL.  BN_init() was added in SSLeay
       0.9.1b.



NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       https://www.openssl.org/source/openssl-1.0.2ze.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.openssl.org/.



1.0.2ze                           2022-05-03                  BN_new(3openssl)