DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

CMS_compress(3)




CMS_compress(3)              OpenSSL              CMS_compress(3)


NAME

     CMS_compress - create a CMS CompressedData structure


SYNOPSIS

      #include <openssl/cms.h>

      CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags);


DESCRIPTION

     CMS_compress() creates and returns a CMS CompressedData
     structure. comp_nid is the compression algorithm to use or
     NID_undef to use the default algorithm (zlib compression).
     in is the content to be compressed.  flags is an optional
     set of flags.


NOTES

     The only currently supported compression algorithm is zlib
     using the NID NID_zlib_compression.

     If zlib support is not compiled into OpenSSL then
     CMS_compress() will return an error.

     If the CMS_TEXT flag is set MIME headers for type text/plain
     are prepended to the data.

     Normally the supplied content is translated into MIME
     canonical format (as required by the S/MIME specifications)
     if CMS_BINARY is set no translation occurs. This option
     should be used if the supplied data is in binary format
     otherwise the translation will corrupt it. If CMS_BINARY is
     set then CMS_TEXT is ignored.

     If the CMS_STREAM flag is set a partial CMS_ContentInfo
     structure is returned suitable for streaming I/O: no data is
     read from the BIO in.

     The compressed data is included in the CMS_ContentInfo
     structure, unless CMS_DETACHED is set in which case it is
     omitted. This is rarely used in practice and is not
     supported by SMIME_write_CMS().


NOTES

     If the flag CMS_STREAM is set the returned CMS_ContentInfo
     structure is not complete and outputting its contents via a
     function that does not properly finalize the CMS_ContentInfo
     structure will give unpredictable results.

     Several functions including SMIME_write_CMS(),
     i2d_CMS_bio_stream(), PEM_write_bio_CMS_stream() finalize
     the structure. Alternatively finalization can be performed
     by obtaining the streaming ASN1 BIO directly using
     BIO_new_CMS().

1.0.2t               Last change: 2019-09-10                    1

CMS_compress(3)              OpenSSL              CMS_compress(3)

     Additional compression parameters such as the zlib
     compression level cannot currently be set.


RETURN VALUES

     CMS_compress() returns either a CMS_ContentInfo structure or
     NULL if an error occurred. The error can be obtained from
     ERR_get_error(3).


SEE ALSO

     ERR_get_error(3), CMS_uncompress(3)


HISTORY

     CMS_compress() was added to OpenSSL 0.9.8 The CMS_STREAM
     flag was first supported in OpenSSL 1.0.0.

1.0.2t               Last change: 2019-09-10                    2


Man(1) output converted with man2html