CMS_CONTENTINFO_NEW(3) | Library Functions Manual | CMS_CONTENTINFO_NEW(3)

# NAME

`CMS_ContentInfo_new`, `CMS_ContentInfo_free`, `CMS_ContentInfo_print_ctx`, `CMS_ReceiptRequest_new`, `CMS_ReceiptRequest_free` — Cryptographic Message Syntax data structures

# SYNOPSIS

library “libcrypto”
`#include <openssl/cms.h>`

CMS_ContentInfo *
`CMS_ContentInfo_new`(void);

void
`CMS_ContentInfo_free`(CMS_ContentInfo *cms);

int
`CMS_ContentInfo_print_ctx`(BIO *out, CMS_ContentInfo *cms, int indent, const ASN1_PCTX *pctx);

CMS_ReceiptRequest *
`CMS_ReceiptRequest_new`(void);

void
`CMS_ReceiptRequest_free`(CMS_ReceiptRequest *rr);

# DESCRIPTION

`CMS_ContentInfo_new`() allocates and initializes an empty CMS_ContentInfo object, representing an ASN.1 ContentInfo structure defined in RFC 5652 section 3. It can hold a pointer to an ASN.1 OBJECT IDENTIFIER and a pointer to either a SignedData, EnvelopedData, DigestedData, EncryptedData, AuthenticatedData, or CompressedData object or to an arbitrary ASN.1 object. `CMS_ContentInfo_free`() frees cms.

`CMS_ContentInfo_print_ctx`() prints a human readable representation of cms to out.

`CMS_ReceiptRequest_new`() allocates and initializes an empty CMS_ReceiptRequest object, representing an ASN.1 ReceiptRequest structure defined in RFC 2634 section 2.7. It can contain a content identifier, a list of recipients requested to return a signed receipt, and a list of users to send the receipt to. `CMS_ReceiptRequest_free`() frees rr.

# RETURN VALUES

`CMS_ContentInfo_new`() and `CMS_ReceiptRequest_new`() return the new CMS_ContentInfo or CMS_ReceiptRequest object, respectively, or `NULL` if an error occurs.

# SEE ALSO

BIO_new_CMS(3), CMS_add0_cert(3), CMS_add1_recipient_cert(3), CMS_add1_signer(3), CMS_compress(3), CMS_decrypt(3), CMS_encrypt(3), CMS_final(3), CMS_get0_RecipientInfos(3), CMS_get0_SignerInfos(3), CMS_get0_type(3), CMS_get1_ReceiptRequest(3), CMS_sign(3), CMS_sign_receipt(3), CMS_signed_add1_attr(3), CMS_uncompress(3), CMS_verify(3), CMS_verify_receipt(3), crypto(3), d2i_CMS_ContentInfo(3), i2d_CMS_bio_stream(3), PEM_read_bio_PrivateKey(3), PEM_write_bio_CMS_stream(3), SMIME_read_CMS(3), SMIME_write_CMS(3)

# STANDARDS

RFC 5652: Cryptographic Message Syntax, section 3: General Syntax

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

RFC 2634: Enhanced Security Services for S/MIME, section 2.7: Receipt Request Syntax

# HISTORY

`CMS_ContentInfo_new`(), `CMS_ContentInfo_free`(), `CMS_ReceiptRequest_new`(), and `CMS_ReceiptRequest_free`() first appeared in OpenSSL 0.9.8h and `CMS_ContentInfo_print_ctx`() in OpenSSL 1.0.0. This functions have been available since OpenBSD 6.7.

June 8, 2025 | Debian