Scroll to navigation

SMIME_WRITE_ASN1(3SSL) OpenSSL SMIME_WRITE_ASN1(3SSL)

NUME

SMIME_write_ASN1_ex, SMIME_write_ASN1 - convertește structura în format S/MIME

SINOPSIS

 #include <openssl/asn1.h>
 int SMIME_write_ASN1_ex(BIO *out, ASN1_VALUE *val, BIO *data, int flags,
                         int ctype_nid, int econt_nid,
                         STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it,
                         OSSL_LIB_CTX *libctx, const char *propq);
 int SMIME_write_ASN1(BIO *out,
     ASN1_VALUE *val, BIO *data, int flags, int ctype_nid, int econt_nid,
     STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it);

DESCRIERE

SMIME_write_ASN1_ex() adaugă antetele MIME corespunzătoare la o structură de obiect pentru a genera un mesaj S/MIME.

out este BIO-ul în care se scriu datele. value este structura ASN1_VALUE corespunzătoare (fie CMS_ContentInfo, fie PKCS7). Dacă transmisia în flux este activată, conținutul trebuie furnizat prin data. flags este un set opțional de fanioane. ctype_nid este NID-ul tipului de conținut, econt_nid este NID-ul tipului de conținut încorporat, iar mdalgs este o listă de algoritmi de rezumat al datelor semnate „digestAlgorithms”. Valorile valide care pot fi utilizate de structura ASN.1 it sunt ASN1_ITEM_rptr(PKCS7) sau ASN1_ITEM_rptr(CMS_ContentInfo). Contextul bibliotecii libctx și interogarea proprietății propq sunt utilizate la recuperarea algoritmilor de la furnizori.

NOTE

Funcțiile de nivel superior SMIME_write_CMS(3) și SMIME_write_PKCS7(3) ar trebui utilizate în locul funcției SMIME_write_ASN1().

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 se apelează metoda 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 către o funcție de creare CMS_ContentInfo sau PKCS7.

Dacă se utilizează semnarea în text clar și CMS_STREAM nu este activat, datele trebuie citite de două ori: o dată pentru a calcula semnătura în metoda de semnare și o dată pentru a genera 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.

VALORI RETURNATE

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

CONSULTAȚI ȘI

ERR_get_error(3), SMIME_write_CMS(3), SMIME_write_PKCS7(3)

DREPTURI DE AUTOR

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