Manual:CMS verify receipt(3)
CMS_verify_receipt - verify a CMS signed receipt
#include <openssl/cms.h> int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, STACK_OF(X509) *certs, X509_STORE *store, unsigned int flags);
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.
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.
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)
CMS_verify_receipt() was added to OpenSSL 0.9.8