BIO_new_CMS(3) 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).

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.