Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

NAME

CMS_sign_receipt — create a CMS signed receipt

SYNOPSIS

#include <openssl/cms.h>
CMS_ContentInfo *
CMS_sign_receipt(CMS_SignerInfo *si, X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, unsigned int flags);

DESCRIPTION

CMS_sign_receipt() creates a new CMS SignedData structure containing a signed Receipt as its embedded content. si is the SignerInfo structure containing the signed receipt request. signcert is the certificate to sign with, pkey is the corresponding private key. certs is an optional additional set of certificates to include in the CMS structure (for example any intermediate CAs in the chain).
This functions behaves in a similar way to CMS_sign(3) except that the flags values CMS_DETACHED, CMS_BINARY, CMS_NOATTR, CMS_TEXT, and CMS_STREAM are not supported since they do not make sense in the context of signed receipts.

RETURN VALUES

CMS_sign_receipt() returns either a valid CMS_ContentInfo structure or NULL 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(3), CMS_verify_receipt(3)

STANDARDS

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

HISTORY

CMS_sign_receipt() first appeared in OpenSSL 0.9.8h and has been available since OpenBSD 6.7.
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org