SMIME_WRITE_CMS(3ssl) OpenSSL SMIME_WRITE_CMS(3ssl)

SMIME_write_CMS - convertește structura CMS în format S/MIME

#include <openssl/cms.h>
int SMIME_write_CMS(BIO *out, CMS_ContentInfo *cms, BIO *data, int flags);

SMIME_write_CMS() adaugă antetele MIME corespunzătoare unei structuri CMS pentru a produce un mesaj S/MIME.

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

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

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

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

Dacă fanionul CMS_STREAM este activat, se efectuează transmisia în flux. Acest fanion trebuie activat numai dacă CMS_STREAM a fost activat și în apelul anterior la o funcție de creare CMS_ContentInfo.

Dacă se utilizează semnătura în text clar și CMS_STREAM nu este activat, atunci datele trebuie citite de două ori: o dată pentru a calcula semnătura în CMS_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_CMS() codifică întotdeauna structurile CMS în baza64, ar trebui să existe o opțiune pentru a dezactiva acest lucru.

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

ERR_get_error(3), CMS_sign(3), CMS_verify(3), CMS_encrypt(3) CMS_decrypt(3)

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