libressl-CMS_uncompress - uncompress a CMS CompressedData structure


CMS_UNCOMPRESS(3) Library Functions Manual CMS_UNCOMPRESS(3)

NAME

CMS_uncompress — uncompress a CMS CompressedData structure

SYNOPSIS

#include <openssl/cms.h>

int

CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, unsigned int flags);

DESCRIPTION

CMS_uncompress() extracts and uncompresses the content of a CMS CompressedData structure cms and writes it to out.

In the rare case where the compressed content is detached, pass it in via dcont. For normal use, set dcont to NULL.

The only currently supported compression algorithm is zlib: if the structure indicates the use of any other algorithm, an error is returned. If zlib support is not compiled in, CMS_uncompress() always returns an error.

If the CMS_TEXT bit is set in flags, MIME headers for type text/plain are deleted from the content. If the content is not of type text/plain, an error is returned.

RETURN VALUES

CMS_uncompress() returns 1 for success or 0 for failure. The error can be obtained from ERR_get_error(3).

SEE ALSO

CMS_compress(3), CMS_ContentInfo_new(3)

STANDARDS

RFC 3274: Compressed Data Content Type for Cryptographic Message Syntax (CMS)

HISTORY

CMS_uncompress() first appeared in OpenSSL 0.9.8h and has been available since OpenBSD 6.7.

BUGS

The lack of single pass processing and the need to hold all data in memory as mentioned in CMS_verify(3) also applies to CMS_uncompress(). GNU November 2, 2019 CMS_UNCOMPRESS(3)


Updated 2024-01-29 - jenkler.se | uex.se