NOM¶
BIO_new_CMS - BIO filtre de flux CMS
SYNOPSIS¶
#include <openssl/cms.h>
BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms);
DESCRIPTION¶
BIO_new_CMS() renvoie une chaîne de BIO filtre de flux
basée sur
cms. La sortie du filtre est écrite vers
out. Toutes les données écrites vers la chaîne
sont automatiquement traduites en une structure CMS au format BER du type
approprié.
NOTES¶
La chaîne renvoyée par cette fonction se comporte comme un BIO
filtre standard. Elle permet les entrées et sorties non bloquantes. Le
contenu est traité et envoyé en flux à la volée
sans passer du tout en mémoire : il est donc possible d'encoder
de très grandes structures. Après que tout le contenu a
été écrit dans la chaîne,
BIO_flush() doit
être appelée pour finaliser la structure.
L'attribut
CMS_STREAM doit être inclus dans le paramètre
flags correspondant de la fonction de création de
cms.
Si une application désire écrire des données
supplémentaires vers
out, les BIO devraient être
supprimés de la chaîne en utilisant
BIO_pop() et
libérés avec
BIO_free() jusqu'à ce que
out
soit atteint. Si aucune donnée ne doit être écrite,
BIO_free_all() peut être appelée pour libérer
toute la chaîne.
Tout le contenu écrit par l'intermédiaire du filtre est
utilisé verbatim : aucune traduction canonique n'est
réalisée.
Plusieurs BIO peuvent être chaînés pour, par exemple,
créer une structure triple — signée
enveloppée, enveloppée et signée. Dans ce cas,
définir le type de contenu interne de toutes les structures
CMS_ContentInfo externes est de la responsabilité des applications.
De nombreuses petites écritures à travers la chaîne sont
à éviter car cela produira une sortie constituée de
nombreuses structures OCTET STRING. Faire précéder par un BIO
tampon
BIO_f_buffer() évitera cela.
BOGUES¶
Aucune fonction BIO inverse correspondante n'existe aujourd'hui,
c'est-à-dire une capable de décoder une structure CMS à
la volée.
VALEURS DE RETOUR¶
BIO_new_CMS() renvoie une chaîne de BIO ou NULL en cas d'erreur.
L'erreur peut être obtenue à l'aide de
ERR_get_error(3).
VOIR AUSSI¶
ERR_get_error(3),
CMS_sign(3),
CMS_encrypt(3)
HISTORIQUE¶
BIO_new_CMS() a été ajoutée dans
OpenSSL 1.0.0
TRADUCTION¶
La traduction de cette page de manuel est maintenue par les membres de la liste
<debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler
toute erreur de traduction par un rapport de bogue sur le paquet
manpages-fr-extra.