CMS_VERIFY_RECEIPT(3)
π CMS_VERIFY_RECEIPT(3) β verify a CMS signed receipt π
okay so bestie, this one lives in the libcrypto library (that's the OpenSSL-ish crew, and on OpenBSD it ships in base). It's a CMS_* function, which means it's doing that fancy cryptographic message syntax thing. Don't worry, we're gonna get through it together π«Ά
β¨ NAME β¨
CMS_verify_receipt β verify a CMS signed receipt. That's it, that's the whole job. It checks whether a signed receipt is actually legit π₯
π SYNOPSIS π
#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 π¦
So CMS_verify_receipt() verifies a CMS signed receipt. Iconic behaviour, honestly.
Here's who's who in the cast π
rcmsβ the signed receipt you want to verify. This is the main character of the operation πocmsβ the originalSignedDatastructure that contains the receipt request. Like, the receipts of the receipt, iykyk πΈcertsβ a set of certificates to search through looking for the signing certificate. Think of it as the group chat where we go looking for who actually sent the message.storeβ a trusted certificate store, which is what gets used for chain verification. The vibe check authority β
This function behaves in a similar way to CMS_verify(3), except β and this is the important bit β the flags values CMS_DETACHED, CMS_BINARY, CMS_TEXT, and CMS_STREAM are not supported here, because they genuinely don't make sense in the context of signed receipts. Not me defending them, they just don't apply π
π RETURN VALUES π
CMS_verify_receipt()returns1for a successful verification β- or
0if an error occurred π
If it goes wrong, you can grab the error from ERR_get_error(3). That's where the lore lives.
π§ SEE ALSO π§
go read those next, bestie, they're all part of the same little ecosystem π«Ά
β STANDARDS β
RFC 2634: Enhanced Security Services for S/MIME, section 2.8: Receipt Syntax. Yes, it's got its own spec section and everything. Very official π
π HISTORY π
CMS_verify_receipt() first appeared in OpenSSL 0.9.8h and has been available since OpenBSD 6.7. So it's been around a while β a true veteran of the crypto scene π
and that's the whole page!! this one came from the Debian crew, dated December 20, 2025, and it's the CMS_VERIFY_RECEIPT(3) manual page β Library Functions Manual. mwah π go verify some receipts, you've got this πβ¨
π¦ where this page comes from
- alpine 3.24: libressl-doc 4.3.1-r0 Β· custom
- arch rolling: libressl 4.4.0-1 Β· ISC AND custom:OpenSSL
- Copyright (c) 2008 The OpenSSL Project. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms