Scroll to navigation

BIO_NEW_CMS(3SSL) OpenSSL BIO_NEW_CMS(3SSL)

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 RENVOYÉES

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

La fonction BIO_new_CMS() a été ajoutée dans OpenSSL 1.0.0

COPYRIGHT

Copyright 2008-2016 Les auteurs du projet OpenSSL. Tous droits réservés.

Sous licence Apache 2.0 (la « Licence »). Vous ne pouvez utiliser ce fichier que conformément à la Licence. Vous trouverez une copie dans le fichier LICENSE de la distribution du source ou à l'adresse <https://www.openssl.org/source/license.html>.

TRADUCTION

La traduction française de cette page de manuel a été créée par Nicolas François <nicolas.francois@centraliens.net> et David Prévot <david@tilapin.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

7 avril 2026 3.6.2