Scroll to navigation

CMS_UNCOMPRESS(3) Library Functions Manual CMS_UNCOMPRESS(3)

NAME

CMS_uncompressuncompress a CMS CompressedData structure

SYNOPSIS

#include <openssl/cms.h>

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

DESCRIPTION

() 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, () 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().

November 2, 2019 Linux 5.14.21-150500.55.52-default