CMS_VERIFY_RECEIPT(3) | Library Functions Manual | CMS_VERIFY_RECEIPT(3)

# NAME

`CMS_verify_receipt` — verify a CMS signed receipt

# SYNOPSIS

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

int
`CMS_verify_receipt`(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, STACK_OF(X509) *certs, X509_STORE *store, unsigned int flags);

# DESCRIPTION

`CMS_verify_receipt`() verifies a CMS signed receipt. rcms is the signed receipt to verify. ocms is the original SignedData structure containing the receipt request. certs is a set of certificates in which to search for the signing certificate. store is a trusted certificate store (used for chain verification).

This functions behaves in a similar way to CMS_verify(3) except that the flags values `CMS_DETACHED`, `CMS_BINARY`, `CMS_TEXT`, and `CMS_STREAM` are not supported since they do not make sense in the context of signed receipts.

# RETURN VALUES

`CMS_verify_receipt`() returns 1 for a successful verification or 0 if an error occurred.

The error can be obtained from ERR_get_error(3).

# SEE ALSO

CMS_ContentInfo_new(3), CMS_get1_ReceiptRequest(3), CMS_sign_receipt(3), CMS_verify(3)

# STANDARDS

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

# HISTORY

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

June 8, 2025 | Debian