RSA_CHECK_KEY(3ssl)

NUME
RSA_check_key_ex, RSA_check_key - validează cheile private RSA

SINOPSIS
 #include <openssl/rsa.h>

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 RSA_check_key_ex(const RSA *rsa, BN_GENCB *cb);

 int RSA_check_key(const RSA *rsa);

DESCRIERE
Ambele funcții descrise pe această pagină sunt depreciate. Aplicațiile trebuie să utilizeze în schimb EVP_PKEY_public_check(3), EVP_PKEY_private_check(3) și EVP_PKEY_pairwise_check(3).

Funcția RSA_check_key_ex() validează cheile RSA. Verifică dacă p și q sunt de fapt numere prime și dacă n = p*q.

Nu funcționează în cazul cheilor publice RSA care au populate doar elementele modul și exponent public. De asemenea, verifică dacă d*e = 1 mod (p-1*q-1) și dacă dmp1, dmq1 și iqmp sunt stabilite corect sau sunt NULL. Aceasta efectuează verificări de integritate asupra întregului material al cheii RSA, astfel încât structura cheii RSA trebuie să conțină și toate datele cheii private. Prin urmare, nu poate fi utilizată cu orice obiect cheie RSA arbitrar, chiar dacă acesta este potrivit pentru funcționarea RSA obișnuită.

Parametrul cb este un apel înapoi care va fi invocat în același mod ca BN_is_prime_ex(3).

RSA_check_key() este echivalentă cu RSA_check_key_ex() cu un cb NULL.

VALORI RETURNATE
RSA_check_key_ex() și RSA_check_key() returnează 1 dacă rsa este o cheie RSA validă și 0 în caz contrar. Ele returnează -1 dacă apare o eroare în timpul verificării cheii.

Dacă cheia nu este valabilă sau a apărut o eroare, codul motivului poate fi obținut utilizând ERR_get_error(3).

NOTE
Spre deosebire de majoritatea celorlalte funcții RSA, această funcție nu funcționează transparent cu nicio implementare MOTOR subiacentă, deoarece utilizează direct datele cheie din structura RSA. O implementare de MOTOR poate suprascrie modul în care datele cheie sunt stocate și gestionate și poate oferi chiar suport pentru cheile HSM - caz în care structura RSA nu poate conține date cheie! Dacă MOTORUL în cauză este utilizat doar în scopuri de accelerare sau de analiză, atunci este foarte probabil ca datele cheie RSA să fie complete și neatinse, dar acest lucru nu poate fi presupus în cazul general.

ERORI
Ar putea fi necesară luarea în considerare a unei metode de verificare a cheii RSA utilizând funcții API RSA opace. În momentul de față, RSA_check_key() utilizează pur și simplu elementele structurii RSA în mod direct, ocolind cu totul tabelul RSA_METHOD (și încălcând complet încapsularea și orientarea obiectului în acest proces). Cea mai bună soluție va fi, probabil, introducerea unui gestionar „check_key()” în tabelul de funcții RSA_METHOD, astfel încât implementările alternative să poată furniza și propriile verificatoare.

CONSULTAȚI ȘI
BN_is_prime_ex(3), ERR_get_error(3)

ISTORIC
Toate aceste funcții au fost depreciate în OpenSSL 3.0.

RSA_check_key_ex() a apărut după OpenSSL 1.0.2.

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.