Scroll to navigation

PKCS7_DECRYPT(3SSL) OpenSSL PKCS7_DECRYPT(3SSL)

NUME

PKCS7_decrypt - decriptează conținutul dintr-o structură PKCS#7 envelopedData

SINOPSIS

 #include <openssl/pkcs7.h>
 int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags);

DESCRIERE

PKCS7_decrypt() extrage și decriptează conținutul dintr-o structură PKCS#7 envelopedData. pkey este cheia privată a destinatarului, cert este certificatul destinatarului, data este un BIO în care se scrie conținutul și flags este un set opțional de fanioane.

NOTE

Deși certificatul destinatarilor nu este necesar pentru decriptarea datelor, acesta este necesar pentru a localiza destinatarii corespunzători (dintre mai mulți posibili) în structura PKCS#7.

Atunci când se utilizează transportul de chei RSA PKCS#1 v1.5, funcția invocată EVP_PKEY_decrypt() va folosi un mecanism de respingere implicită. Aceasta returnează întotdeauna rezultatul decriptării RSA a cheii simetrice pentru a evita atacul Marvin. Acest rezultat este determinist și se poate întâmpla să coincidă cu cifrul simetric utilizat pentru criptarea conținutului. În cazul în care certificatul nu este furnizat, va fi utilizat ultimul obiect RecipientInfo care generează o cheie aparent validă. Acest lucru poate duce la obținerea unui conținut eronat la decriptare.

Următoarele fanioane pot fi pasate în parametrul fanioane.

Dacă fanionul PKCS7_TEXT este activat, antetele MIME pentru tipul text/plain sunt șterse din conținut. Dacă conținutul nu este de tip text/plain, este returnată o eroare.

VALORI RETURNATE

PKCS7_decrypt() returnează fie 1 pentru succes, fie 0 pentru eșec. Eroarea poate fi obținută de la ERR_get_error(3)

ERORI

PKCS7_decrypt() trebuie să primească cheia și certificatul destinatarului corecte. Ar fi mai bine dacă ar putea căuta cheia și certificatul corecte dintr-o bază de date.

CONSULTAȚI ȘI

ERR_get_error(3), PKCS7_encrypt(3), EVP_PKEY_decrypt(3)

DREPTURI DE AUTOR

Drepturi de autor 2002-2026 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 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.

29 septembrie 2026 3.6.5