BIO_GET_EX_NEW_INDEX(3SSL)

NUME
BIO_get_ex_new_index, BIO_set_ex_data, BIO_get_ex_data, BIO_set_app_data, BIO_get_app_data, DH_get_ex_new_index, DH_set_ex_data, DH_get_ex_data, DSA_get_ex_new_index, DSA_set_ex_data, DSA_get_ex_data, EC_KEY_get_ex_new_index, EC_KEY_set_ex_data, EC_KEY_get_ex_data, ENGINE_get_ex_new_index, ENGINE_set_ex_data, ENGINE_get_ex_data, EVP_PKEY_get_ex_new_index, EVP_PKEY_set_ex_data, EVP_PKEY_get_ex_data, RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data, RSA_set_app_data, RSA_get_app_data, SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_data, SSL_set_app_data, SSL_get_app_data, SSL_CTX_get_ex_new_index, SSL_CTX_set_ex_data, SSL_CTX_get_ex_data, SSL_CTX_set_app_data, SSL_CTX_get_app_data, SSL_SESSION_get_ex_new_index, SSL_SESSION_set_ex_data, SSL_SESSION_get_ex_data, SSL_SESSION_set_app_data, SSL_SESSION_get_app_data, UI_get_ex_new_index, UI_set_ex_data, UI_get_ex_data, UI_set_app_data, UI_get_app_data, X509_STORE_CTX_get_ex_new_index, X509_STORE_CTX_set_ex_data, X509_STORE_CTX_get_ex_data, X509_STORE_CTX_set_app_data, X509_STORE_CTX_get_app_data, X509_STORE_get_ex_new_index, X509_STORE_set_ex_data, X509_STORE_get_ex_data, X509_get_ex_new_index, X509_set_ex_data, X509_get_ex_data - date specifice aplicației

SINOPSIS
 #include <openssl/x509.h>

 int TYPE_get_ex_new_index(long argl, void *argp,
                           CRYPTO_EX_new *new_func,
                           CRYPTO_EX_dup *dup_func,
                           CRYPTO_EX_free *free_func);

 int TYPE_set_ex_data(TYPE *d, int idx, void *arg);

 void *TYPE_get_ex_data(const TYPE *d, int idx);

 #define TYPE_set_app_data(TYPE *d, void *arg)
 #define TYPE_get_app_data(TYPE *d)

Următoarele funcții au fost depreciate de la OpenSSL 3.0 și pot fi ascunse complet prin definirea OPENSSL_API_COMPAT cu o valoare de versiune adecvată, a se vedea openssl_user_macros(7):

 int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                         CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int DH_set_ex_data(DH *type, int idx, void *arg);
 void *DH_get_ex_data(DH *type, int idx);
 int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                          CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int DSA_set_ex_data(DSA *type, int idx, void *arg);
 void *DSA_get_ex_data(DSA *type, int idx);
 int EC_KEY_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                             CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int EC_KEY_set_ex_data(EC_KEY *type, int idx, void *arg);
 void *EC_KEY_get_ex_data(EC_KEY *type, int idx);
 int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                          CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int RSA_set_ex_data(RSA *type, int idx, void *arg);
 void *RSA_get_ex_data(RSA *type, int idx);
 int RSA_set_app_data(RSA *type, void *arg);
 void *RSA_get_app_data(RSA *type);
 int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,
                             CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);
 int ENGINE_set_ex_data(ENGINE *type, int idx, void *arg);
 void *ENGINE_get_ex_data(ENGINE *type, int idx);

DESCRIERE
În descrierea de aici, TYPE este utilizat ca substituent pentru oricare dintre tipurile de date OpenSSL enumerate în CRYPTO_get_ex_new_index(3).

Toate funcțiile cu TYPE de tip DH, DSA, RSA și EC_KEY sunt depreciate. Aplicațiile ar trebui să utilizeze în schimb EVP_PKEY_set_ex_data(), EVP_PKEY_get_ex_data() și EVP_PKEY_get_ex_new_index().

Toate funcțiile cu TYPE de tip ENGINE sunt depreciate. Aplicațiile care utilizează motoare trebuie înlocuite cu furnizori.

Aceste funcții gestionează datele specifice aplicației pentru structurile de date OpenSSL.

TYPE_get_ex_new_index() este o macroinstrucțiune care apelează CRYPTO_get_ex_new_index() cu valoarea corectă index.

TYPE_set_ex_data() este o funcție care apelează CRYPTO_set_ex_data() cu o poziție în partea opacă exdata a obiectului TYPE. d NU TREBUIE să fie NULL.

TYPE_get_ex_data() este o funcție care apelează CRYPTO_get_ex_data() cu o poziție în partea opacă exdata a obiectului TYPE. d NU TREBUIE să fie NULL.

Pentru compatibilitate cu versiunile anterioare, indexul exdata zero este rezervat pentru „date de aplicație”. Există două funcții utile pentru acest lucru. TYPE_set_app_data() este o macroinstrucțiune care invocă TYPE_set_ex_data() cu idx definit la zero. TYPE_get_app_data() este o macroinstrucțiune care invocă TYPE_get_ex_data() cu idx definit la zero.

VALORI RETURNATE
TYPE_get_ex_new_index() returnează un nou index în caz de succes sau -1 în caz de eroare.

TYPE_set_ex_data() returnează 1 în caz de succes sau 0 în caz de eroare.

TYPE_get_ex_data() returnează datele aplicației sau NULL dacă a apărut o eroare.

CONSULTAȚI ȘI
CRYPTO_get_ex_new_index(3).

ISTORIC
Funcțiile DH_get_ex_new_index(), DH_set_ex_data(), DH_get_ex_data(), DSA_get_ex_new_index(), DSA_set_ex_data(), DSA_get_ex_data(), EC_KEY_get_ex_new_index(), EC_KEY_set_ex_data(), EC_KEY_get_ex_data(), ENGINE_get_ex_new_index(), ENGINE_set_ex_data(), ENGINE_get_ex_data(), RSA_get_ex_new_index(), RSA_set_ex_data(), RSA_get_ex_data(), RSA_set_app_data() și RSA_get_app_data() au fost depreciate în OpenSSL 3.0.

DREPTURI DE AUTOR
Drepturi de autor 2015-2021 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.