BIO_NEW_CMS(3ssl) | OpenSSL | BIO_NEW_CMS(3ssl) |
NUME
BIO_new_CMS - filtru de transmisie în flux CMS BIO
SINOPSIS
#include <openssl/cms.h> BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms);
DESCRIERE
BIO_new_CMS() returnează un lanț BIO de filtrare a transmisiei în flux bazată pe cms. Rezultatul filtrării este scris în out. Orice date scrise în lanț sunt traduse automat într-o structură CMS în format BER de tipul corespunzător.
NOTE
Lanțul returnat de această funcție se comportă ca un filtru BIO standard. Acesta acceptă In/Ieș fără blocare. Conținutul este procesat și transmis în timp real și nu este stocat în memorie în întregime: astfel, este posibilă codificarea structurilor foarte mari. După ce tot conținutul a fost scris prin lanț, trebuie apelată funcția BIO_flush() pentru a finaliza structura.
Fanionul CMS_STREAM trebuie inclus în parametrul flags corespunzător al funcției de creare cms.
Dacă o aplicație dorește să scrie date suplimentare în out, BIO-urile trebuie eliminate din lanț folosind BIO_pop() și eliberate cu BIO_free() până când se ajunge la out. Dacă nu este necesară scrierea de date suplimentare, se poate apela BIO_free_all() pentru a elibera întregul lanț.
Orice conținut scris prin filtru este utilizat literal: nu se efectuează nicio traducere canonică.
Este posibil să se conecteze mai multe BIO-uri pentru a crea, de exemplu, o structură triplă învelită, semnată și sigilată. În acest caz, aplicațiile au responsabilitatea de a defini tipul de conținut intern al oricărei structuri CMS_ContentInfo externe.
Trebuie evitate scrierile mici în număr mare prin lanț, deoarece acestea vor produce o ieșire formată din multe structuri OCTET STRING. Adăugarea unui tampon BIO BIO_f_buffer() va preveni acest lucru.
ERORI
În prezent nu există o funcție inversă corespondentă: adică unul care poate decoda o structură CMS în timp real.
VALORI RETURNATE
BIO_new_CMS() returnează un lanț BIO în cazul unui rezultat pozitiv sau NULL în cazul apariției unei erori. Eroarea poate fi obținută din ERR_get_error(3).
CONSULTAȚI ȘI
ISTORIC
Funcția BIO_new_CMS() a fost adăugată în OpenSSL 1.0.0.
DREPTURI DE AUTOR
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.
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.
5 august 2025 | 3.5.2 |