SMIME_WRITE_PKCS7(3ssl) OpenSSL SMIME_WRITE_PKCS7(3ssl)

SMIME_write_PKCS7 - convertește structura PKCS#7 în format S/MIME

#include <openssl/pkcs7.h>
int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags);

SMIME_write_PKCS7() adaugă anteturile MIME corespunzătoare la o structură PKCS#7 pentru a genera un mesaj S/MIME.

out este BIO-ul în care se scriu datele. p7 este structura PKCS7 corespunzătoare. Dacă transmisia în flux este activată, conținutul trebuie furnizat în argumentul data. flags este un set opțional de fanioane.

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

Dacă PKCS7_DETACHED este activat, atunci se va utiliza semnarea în text clar; această opțiune are sens numai pentru signedData, unde PKCS7_DETACHED este de asemenea activat atunci când PKCS7_sign() este de asemenea apelat.

Dacă fanionul PKCS7_TEXT este activat, la conținut sunt adăugate antete MIME de tip text/plain, acest lucru are sens numai dacă PKCS7_DETACHED este de asemenea activat.

Dacă fanionul PKCS7_STREAM este activat, se efectuează transmisia în flux. Acest fanion trebuie activat numai dacă PKCS7_STREAM a fost activat de asemenea în apelul anterior la PKCS7_sign() sau PKCS7_encrypt().

Dacă se utilizează semnătura în text clar și PKCS7_STREAM nu este activat, atunci datele trebuie citite de două ori: o dată pentru a calcula semnătura în PKCS7_sign() și o dată pentru a emite mesajul S/MIME.

Dacă se efectuează transmiterea în flux, conținutul este redat în format BER utilizând codificare construită cu lungime nedeterminată, cu excepția cazului datelor semnate cu conținut detașat, în care conținutul este absent și se utilizează formatul DER.

SMIME_write_PKCS7() codifică întotdeauna structurile PKCS#7 în format base64, ar trebui să existe o opțiune pentru a dezactiva această funcție.

SMIME_write_PKCS7() returnează 1 în caz de succes sau 0 în caz de eșec.

ERR_get_error(3), PKCS7_sign(3), PKCS7_verify(3), PKCS7_encrypt(3) PKCS7_decrypt(3)

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

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.

5 august 2025 3.5.2