.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Titlu "CMS_DECRYPT 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CMS_DECRYPT 3ssl "5 august 2025" 3.5.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH NUME CMS_decrypt, CMS_decrypt_set1_pkey_and_peer, CMS_decrypt_set1_pkey, CMS_decrypt_set1_password \&\- decriptarea conținutului dintr\-o structură de date CMS envelopedData .SH SINOPSIS .IX Antet SINOPSIS .Vb 1 \& #include \& \& int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, \& BIO *dcont, BIO *out, unsigned int flags); \& int CMS_decrypt_set1_pkey_and_peer(CMS_ContentInfo *cms, \& EVP_PKEY *pk, X509 *cert, X509 *peer); \& int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); \& int CMS_decrypt_set1_password(CMS_ContentInfo *cms, \& unsigned char *pass, ossl_ssize_t passlen); .Ve .SH DESCRIERE .IX Antet DESCRIERE \&\fBCMS_decrypt()\fP extrage conținutul decriptat dintr\-o structură CMS EnvelopedData sau AuthEnvelopedData. Utilizează \fBCMS_decrypt_set1_pkey()\fP pentru a decripta conținutul cu cheia privată a destinatarului \fIpkey\fP dacă \fIpkey\fP nu este NULL. În acest caz, se recomandă furnizarea certificatului asociat în \fIcert\fP \- a se vedea NOTELE de mai jos. \&\fIout\fP este un BIO în care se scrie conținutul, iar \&\fIflags\fP este un set opțional de fanioane. Dacă \fIpkey\fP este NULL, funcția presupune că decriptarea a fost deja efectuată (de exemplu, utilizând \fBCMS_decrypt_set1_pkey()\fP sau \fBCMS_decrypt_set1_password()\fP) și furnizează doar conținutul, cu excepția cazului în care \fIcert\fP, \fIdcont\fP și \fIout\fP sunt, de asemenea, NULL. Parametrul \fIdcont\fP este utilizat în cazurile rare în care conținutul criptat este detașat. În mod normal, acesta va fi stabilit la NULL. .PP \&\fBCMS_decrypt_set1_pkey_and_peer()\fP decriptează structura CMS_ContentInfo \fIcms\fP utilizând cheia privată \fIpkey\fP, certificatul corespunzător \fIcert\fP, care este recomandat, dar poate fi NULL, și certificatul inițiatorului (opțional) \fIpeer\fP. În caz de succes, înregistrează și în \fIcms\fP cheia de decriptare \fIpkey\fP, iar apoi ar trebui să urmeze \f(CW\*(C`CMS_decrypt(cms, NULL, NULL, dcont, out, flags)\*(C'\fP. Această apelare eliberează orice cheie de decriptare stocată în \fIcms\fP. .PP \&\fBCMS_decrypt_set1_pkey()\fP este identică cu \&\fBCMS_decrypt_set1_pkey_and_peer()\fP, cu \fIpeer\fP fiind NULL. .PP \&\fBCMS_decrypt_set1_password()\fP decriptează structura CMS_ContentInfo \fIcms\fP utilizând secretul \fIpass\fP cu lungimea \fIpasslen\fP. Dacă operația are succes, înregistrează în \fIcms\fP cheia de decriptare utilizată, iar apoi trebuie urmată de \f(CW\*(C`CMS_decrypt(cms, NULL, NULL, dcont, out, flags)\*(C'\fP. Această apelare eliberează orice cheie de decriptare stocată în \fIcms\fP. .SH NOTE .IX Antet NOTE Although the recipients certificate is not needed to decrypt the data it is needed to locate the appropriate (of possible several) recipients in the CMS structure. .PP Dacă \fIcert\fP este definit ca NULL, sunt încercați toți destinatarii posibili. Acest caz este însă problematic. Pentru a contracara atacul MMA (atacul lui Bleichenbacher asupra umplerii PKCS #1 v1.5 RSA), sunt încercați toți destinatarii, indiferent dacă reușesc sau nu. Dacă niciun destinatar nu reușește, se utilizează o cheie simetrică aleatorie pentru a decripta conținutul: acest lucru va genera de obicei date fără sens și poate (dar nu este garantat) să returneze în final doar o eroare de umplere. Dacă \fBCMS_decrypt()\fP a returnat doar o eroare atunci când toate cheile criptate ale destinatarilor nu au reușit să decripteze, un atacator ar putea utiliza acest lucru într\-un atac de sincronizare. Dacă este activat fanionul special \fBCMS_DEBUG_DECRYPT\fP, comportamentul de mai sus este modificat și \fBeste\fP returnată o eroare dacă nicio cheie criptată a destinatarului nu poate fi decriptată \fBfără\fP a genera o cheie aleatorie de criptare a conținutului. Aplicațiile ar trebui să utilizeze acest fanion cu \&\fBextremă prudență\fP, în special în cazul porților de acces automate, deoarece acestea pot fi expuse atacurilor. .PP Este posibil să se determine cheia corectă a destinatarului prin alte mijloace (de exemplu, căutându\-le într\-o bază de date) și definindu\-le în avans în structura CMS utilizând funcțiile utilitare CMS, cum ar fi \fBCMS_set1_pkey()\fP, sau utilizând \fBCMS_decrypt_set1_password()\fP dacă destinatarul are o cheie simetrică. În aceste cazuri, atât \fIcert\fP cât și \fIpkey\fP trebuie definite ca NULL. .PP Pentru a procesa tipurile KEKRecipientInfo, \fBCMS_set1_key()\fP sau \fBCMS_RecipientInfo_set0_key()\fP și \fBCMS_RecipientInfo_decrypt()\fP trebuie apelate înainte de \fBCMS_decrypt()\fP, iar \&\fIcert\fP și \fIpkey\fP trebuie definite ca NULL. .PP Următoarele fanioane pot fi transmise în parametrul \fIflags\fP. .PP Dacă fanionul \fBCMS_TEXT\fP este activat, anteturile MIME pentru tipul \f(CW\*(C`text/plain\*(C'\fP sunt șterse din conținut. Dacă conținutul nu este de tip \f(CW\*(C`text/plain\*(C'\fP, atunci este returnată o eroare. .SH "VALORI RETURNATE" .IX Antet "VALORI RETURNATE" \&\fBCMS_decrypt()\fP, \fBCMS_decrypt_set1_pkey_and_peer()\fP, \&\fBCMS_decrypt_set1_pkey()\fP și \fBCMS_decrypt_set1_password()\fP returnează fie 1 pentru succes, fie 0 pentru eșec. Eroarea poate fi obținută din \fBERR_get_error\fP\|(3). .SH ERORI .IX Antet ERORI Partea \fBset1_\fP din aceste nume de funcții este înșelătoare și ar trebui să se citească mai bine: \fBwith_\fP. .PP Lipsa procesării într\-o singură trecere și necesitatea de a păstra toate datele în memorie, așa cum se menționează în \fBCMS_verify()\fP, se aplică și în cazul \fBCMS_decrypt()\fP. .SH "CONSULTAȚI ȘI" .IX Antet "CONSULTAȚI ȘI" \&\fBERR_get_error\fP\|(3), \fBCMS_encrypt\fP\|(3) .SH ISTORIC .IX Antet ISTORIC \&\fBCMS_decrypt_set1_pkey_and_peer()\fP și \fBCMS_decrypt_set1_password()\fP au fost adăugate în OpenSSL 3.0. .SH "DREPTURI DE AUTOR" .IX Antet "DREPTURI DE AUTOR" Drepturi de autor 2008\-2020 The OpenSSL Project Authors. Toate drepturile rezervate. .PP 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 . .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .