BN_CTX_NEW(3SSL)

NUME
BN_CTX_new_ex, BN_CTX_new, BN_CTX_secure_new_ex, BN_CTX_secure_new, BN_CTX_free - alocă și eliberează structurile BN_CTX

SINOPSIS
 #include <openssl/bn.h>

 BN_CTX *BN_CTX_new_ex(OSSL_LIB_CTX *ctx);
 BN_CTX *BN_CTX_new(void);

 BN_CTX *BN_CTX_secure_new_ex(OSSL_LIB_CTX *ctx);
 BN_CTX *BN_CTX_secure_new(void);

 void BN_CTX_free(BN_CTX *c);

DESCRIERE
Un BN_CTX este o structură care conține variabile temporare BIGNUM utilizate de funcțiile de bibliotecă. Deoarece alocarea dinamică a memoriei pentru a crea BIGNUM este destul de costisitoare atunci când este utilizată împreună cu apeluri repetate la subrutine, se utilizează structura BN_CTX.

BN_CTX_new_ex() alocă și inițializează o structură BN_CTX pentru contextul de bibliotecă dat ctx. Valoarea <ctx> poate fi NULL, caz în care va fi utilizat contextul de bibliotecă implicit. BN_CTX_new() este la fel ca BN_CTX_new_ex(), cu excepția faptului că este utilizat întotdeauna contextul de bibliotecă implicit.

BN_CTX_secure_new_ex() alocă și inițializează o structură BN_CTX, dar utilizează grămada securizată (a se vedea CRYPTO_secure_malloc(3)) pentru a păstra BIGNUMs pentru contextul de bibliotecă dat ctx. Valoarea <ctx> poate fi NULL, caz în care va fi utilizat contextul de bibliotecă implicit. BN_CTX_secure_new() este la fel ca BN_CTX_secure_new_ex(), cu excepția faptului că se utilizează întotdeauna contextul de bibliotecă implicit.

BN_CTX_free() eliberează componentele BN_CTX și structura în sine. Deoarece BN_CTX_start() este necesară pentru a obține BIGNUM din BN_CTX, în majoritatea cazurilor BN_CTX_end() trebuie să fie apelată înainte ca BN_CTX să poată fi eliberat prin BN_CTX_free(). Dacă c este NULL, nu se face nimic.

Un anumit BN_CTX trebuie să fie utilizat doar de un singur fir de execuție. Nu se efectuează nicio blocare, iar alocatorul intern al grupului nu va gestiona corect mai multe fire de execuție.

VALORI RETURNATE
BN_CTX_new() și BN_CTX_secure_new() returnează un indicator la BN_CTX. Dacă alocarea eșuează, acestea returnează NULL și stabilește un cod de eroare care poate fi obținut prin ERR_get_error(3).

BN_CTX_free() nu are valoare de returnare.

FUNCȚIONALITATE ELIMINATĂ
 void BN_CTX_init(BN_CTX *c);

BN_CTX_init() nu mai este disponibilă de la OpenSSL 1.1.0. Aplicațiile trebuie să înlocuiască utilizarea BN_CTX_init cu BN_CTX_new:

 BN_CTX *ctx;
 ctx = BN_CTX_new();
 if (!ctx)
     /* error */
 ...
 BN_CTX_free(ctx);

CONSULTAȚI ȘI
ERR_get_error(3), BN_add(3), BN_CTX_start(3)

ISTORIC
BN_CTX_init() a fost eliminată în OpenSSL 1.1.0

DREPTURI DE AUTOR
Drepturi de autor 2000-2020 The OpenSSL Project Authors. Toate drepturile rezervate.

Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la <https://www.openssl.org/source/license.html>.

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.