CMS\_VERIFY\_RECEIPT(3ossl) OpenSSL CMS\_VERIFY\_RECEIPT(3ossl)

# [NAME](#NAME)

CMS\_verify\_receipt - verify a CMS signed receipt

# [SYNOPSIS](#SYNOPSIS)

```
 #include <openssl/cms.h>
 int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms,
                        const STACK_OF(X509) *certs, X509_STORE *store,
                        unsigned int flags);
```

# [DESCRIPTION](#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).

**flags** is an optional set of flags, which can be used to modify the verify operation.

# [NOTES](#NOTES)

This functions behaves in a similar way to **CMS\_verify()** except the flag 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](#RETURN_VALUES)

**CMS\_verify\_receipt()** returns 1 for a successful verification and zero if an error occurred.

The error can be obtained from [**ERR\_get\_error**(3)](/man/os/openssl-4.0/ERR_get_error.3)

# [SEE ALSO](#SEE_ALSO)

[**ERR\_get\_error**(3)](/man/os/openssl-4.0/ERR_get_error.3), [**CMS\_sign\_receipt**(3)](/man/os/openssl-4.0/CMS_sign_receipt.3), [**CMS\_verify**(3)](/man/os/openssl-4.0/CMS_verify.3),

# [COPYRIGHT](#COPYRIGHT)

Copyright 2008-2026 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at &lt;https://www.openssl.org/source/license.html&gt;.

2026-09-29 4.0.3

---

Document: CMS_verify_receipt(3ossl) from openssl-4.0 4.0.3-r5 (Chainguard OS)
