![]() | ![]() | |||||||||||||||||
| ||||||||||||||||||
| BIO_new_CMS(3)
NAMEBIO_new_CMS - CMS streaming filter BIO
SYNOPSIS#include <openssl/cms.h> BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms);
DESCRIPTION
NOTES
The chain returned by this function behaves like a standard filter BIO. It
supports non blocking I/O. Content is processed and streamed on the fly and
not all held in memory at once: so it is possible to encode very large
structures. After all content has been written through the chain
The CMS_STREAM flag must be included in the corresponding flags parameter of the cms creation function.
If an application wishes to write additional data to out BIOs should be removed from the chain using Any content written through the filter is used verbatim: no canonical translation is performed. It is possible to chain multiple BIOs to, for example, create a triple wrapped signed, enveloped, signed structure. In this case it is the applications responsibility to set the inner content type of any outer CMS_ContentInfo structures.
Large numbers of small writes through the chain should be avoided as this
will produce an output consisting of lots of OCTET STRING structures.
Prepending a
BUGSThere is currently no corresponding inverse BIO: i.e. one which can decode a CMS structure on the fly.
RETURN VALUES
SEE ALSOERR_get_error(3), CMS_sign(3), CMS_encrypt(3)
HISTORY
| |||||||||||||||||