BN_CTX_NEW(3ssl) OpenSSL BN_CTX_NEW(3ssl) NUME BN_CTX_new_ex, BN_CTX_new, BN_CTX_secure_new_ex, BN_CTX_secure_new, BN_CTX_free - aloca i elibereaza structurile BN_CTX SINOPSIS #include 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 structura care conine variabile temporare BIGNUM utilizate de funciile de biblioteca. Deoarece alocarea dinamica a memoriei pentru a crea BIGNUM este destul de costisitoare atunci cand este utilizata impreuna cu apeluri repetate la subrutine, se utilizeaza structura BN_CTX. BN_CTX_new_ex() aloca i iniializeaza o structura BN_CTX pentru contextul de biblioteca dat ctx. Valoarea poate fi NULL, caz in care va fi utilizat contextul de biblioteca implicit. BN_CTX_new() este la fel ca BN_CTX_new_ex(), cu excepia faptului ca este utilizat intotdeauna contextul de biblioteca implicit. BN_CTX_secure_new_ex() aloca i iniializeaza o structura BN_CTX, dar utilizeaza gramada securizata (a se vedea CRYPTO_secure_malloc(3)) pentru a pastra BIGNUMs pentru contextul de biblioteca dat ctx. Valoarea poate fi NULL, caz in care va fi utilizat contextul de biblioteca implicit. BN_CTX_secure_new() este la fel ca BN_CTX_secure_new_ex(), cu excepia faptului ca se utilizeaza intotdeauna contextul de biblioteca implicit. BN_CTX_free() elibereaza componentele BN_CTX i structura in sine. Deoarece BN_CTX_start() este necesara pentru a obine BIGNUM din BN_CTX, in majoritatea cazurilor BN_CTX_end() trebuie sa fie apelata inainte ca BN_CTX sa poata fi eliberat prin BN_CTX_free(). Daca c este NULL, nu se face nimic. Un anumit BN_CTX trebuie sa fie utilizat doar de un singur fir de execuie. Nu se efectueaza nicio blocare, iar alocatorul intern al grupului nu va gestiona corect mai multe fire de execuie. VALORI RETURNATE BN_CTX_new() i BN_CTX_secure_new() returneaza un indicator la BN_CTX. Daca alocarea eueaza, acestea returneaza NULL i stabilete un cod de eroare care poate fi obinut prin ERR_get_error(3). BN_CTX_free() nu are valoare de returnare. FUNCIONALITATE ELIMINATA void BN_CTX_init(BN_CTX *c); BN_CTX_init() nu mai este disponibila de la OpenSSL 1.1.0. Aplicaiile trebuie sa inlocuiasca utilizarea BN_CTX_init cu BN_CTX_new: BN_CTX *ctx; ctx = BN_CTX_new(); if (!ctx) /* error */ ... BN_CTX_free(ctx); CONSULTAI I ERR_get_error(3), BN_add(3), BN_CTX_start(3) ISTORIC BN_CTX_init() a fost eliminata in OpenSSL 1.1.0 DREPTURI DE AUTOR Drepturi de autor 2000-2020 The OpenSSL Project Authors. Toate drepturile rezervate. Liceniat sub Licena Apache 2.0 (,,License"). Nu avei voie sa utilizai acest fiier decat in conformitate cu licena. Putei obine o copie din fiierul LICENSE din distribuia sursei sau de la . TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . 3.5.2 5 august 2025 BN_CTX_NEW(3ssl)