Scroll to navigation

CMS_FINAL(3SSL) OpenSSL CMS_FINAL(3SSL)

NUME

CMS_final, CMS_final_digest - finalizează o structură CMS_ContentInfo

SINOPSIS

 #include <openssl/cms.h>
 int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, unsigned int flags);
 int CMS_final_digest(CMS_ContentInfo *cms, const unsigned char *md,
                      unsigned int mdlen, BIO *dcont, unsigned int flags);

DESCRIERE

CMS_final() finalizează structura cms. Scopul său este de a efectua toate operațiile necesare asupra cms (de exemplu, calcularea sumelor de control) și de a defini câmpurile corespunzătoare. Parametrul data conține conținutul care urmează să fie prelucrat. Parametrul dcont conține un BIO în care se va scrie conținutul după prelucrare: acesta este utilizat numai cu date detașate și va fi de obicei definit la NULL.

CMS_final_digest() finalizează structura cms folosind o sumă de control precalculată, în loc să calculeze suma de control din datele originale.

NOTE

Aceste funcții vor fi în mod normal apelate atunci când se utilizează fanionul CMS_PARTIAL. Acesta ar trebui să fie utilizat numai atunci când nu se efectuează transmisia în flux, deoarece funcțiile de In/Ieș ale transmisiei în flux efectuează intern operații de finalizare.

Pentru a semna o sumă de control (digest) precalculată, CMS_sign(3) sau CMS_sign_ex() este apelată cu parametrul data stabilit la NULL înainte ca structura CMS să fie finalizată cu suma de control furnizată lui CMS_final_digest() în formă binară. Atunci când se semnează o sumă de control precalculată, securitatea se bazează pe încrederea acordată sumei de control și calculului acesteia din mesajul original.

VALORI RETURNATE

CMS_final() și CMS_final_digest() returnează 1 pentru succes sau 0 pentru eșec.

CONSULTAȚI ȘI

ERR_get_error(3), CMS_sign(3), CMS_encrypt(3)

ISTORIC

CMS_final_digest() a fost adăugată în OpenSSL 3.2.

DREPTURI DE AUTOR

Drepturi de autor 2008-2022 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.

12 iulie 2025 3.5.1