CMS_data_create(3ssl)

CMS_data_create3ssl

Create cms data object

Usage

 #include <openssl/cms.h>
 CMS_ContentInfo *CMS_data_create_ex(BIO *in, unsigned int flags,
                                     OSSL_LIB_CTX *libctx, const char *propq);
 CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags);

Overview

CMS_data_create_ex() creates a CMS_ContentInfo structure with a type NID_pkcs7_data. The data is supplied via the in BIO. The library context libctx and the property query propq are used when retrieving algorithms from providers. The flags field supports the CMS_STREAM flag. Internally CMS_final() is called unless CMS_STREAM is specified.

The CMS_ContentInfo structure can be freed using CMS_ContentInfo_free(3).

CMS_data_create() is similar to CMS_data_create_ex() but uses default values of NULL for the library context libctx and the property query propq.

Return values

If the allocation fails, CMS_data_create_ex() and CMS_data_create() return NULL and set an error code that can be obtained by ERR_get_error(3). Otherwise they return a pointer to the newly allocated structure.

Releases

3 releases since Debian 12 (Bookworm); the text changed 2 times.

  1. 12
  2. 13
  3. Arch

History

The CMS_data_create_ex() method was added in OpenSSL 3.0.

From openssl 3.6.5-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.