CMS_GET0_SIGNERINFOS(3ssl)

NUME
CMS_SignerInfo_set1_signer_cert, CMS_get0_SignerInfos, CMS_SignerInfo_get0_signer_id, CMS_SignerInfo_get0_signature, CMS_SignerInfo_cert_cmp - funcții de semnare a datelor semnate „signedData” CMS

SINOPSIS
 #include <openssl/cms.h>

 STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms);

 int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, ASN1_OCTET_STRING **keyid,
                                   X509_NAME **issuer, ASN1_INTEGER **sno);
 ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si);
 int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert);
 void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer);

DESCRIERE
Funcția CMS_get0_SignerInfos() returnează toate structurile CMS_SignerInfo asociate cu o structură CMS signedData.

CMS_SignerInfo_get0_signer_id() recuperează identificatorul semnatarului certificatului asociat cu o structură CMS_SignerInfo specifică si. Identificatorul cheii va fi definit fie în keyid, fie în both, iar numele emitentului și numărul de serie vor fi definite în issuer și sno.

CMS_SignerInfo_get0_signature() recuperează semnătura asociată cu si într-un indicator către o structură ASN1_OCTET_STRING. Acest indicator returnat corespunde valorii interne a semnăturii dacă si, astfel încât poate fi citit sau modificat.

CMS_SignerInfo_cert_cmp() compară certificatul cert cu identificatorul semnatarului si. Returnează zero dacă comparația are succes și o valoare diferită de zero dacă nu.

CMS_SignerInfo_set1_signer_cert() definește certificatul semnatarului si ca fiind signer.

NOTE
Scopul principal al acestor funcții este de a permite unei aplicații să caute certificatele semnatarilor folosind orice tehnică adecvată atunci când metoda mai simplă CMS_verify() nu este adecvată.

În utilizarea și aplicarea tipică, va recupera toate structurile CMS_SignerInfo folosind CMS_get0_SignerInfo() și va recupera informațiile de identificare folosind CMS. Apoi va obține certificatul semnatarului prin mijloace nespecificate (sau va returna o eroare dacă nu poate fi găsit) și îl va defini folosind CMS_SignerInfo_set1_signer_cert().

Odată ce toate certificatele semnatarilor au fost definite, se poate utiliza CMS_verify().

Deși CMS_get0_SignerInfos() poate returna NULL dacă apare o eroare sau dacă nu există semnatari, acest lucru nu reprezintă o problemă în practică, deoarece singura eroare care poate apărea este dacă structura cms nu este de tip signedData din cauza unei erori a aplicației.

VALORI RETURNATE
CMS_get0_SignerInfos() returnează toate structurile CMS_SignerInfo sau NULL dacă nu există semnatari sau dacă apare o eroare.

CMS_SignerInfo_get0_signer_id() returnează 1 pentru succes și 0 pentru eșec.

CMS_SignerInfo_cert_cmp() returnează 0 pentru o comparație reușită și o valoare diferită de zero în caz contrar.

CMS_SignerInfo_set1_signer_cert() nu returnează nicio valoare.

Orice eroare poate fi obținută din ERR_get_error(3)

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

DREPTURI DE AUTOR
Drepturi de autor 2008-2025 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.