NAME
CMS_ReceiptRequest_create0
,
CMS_add1_ReceiptRequest
,
CMS_get1_ReceiptRequest
,
CMS_ReceiptRequest_get0_values
—
CMS signed receipt request
functions
SYNOPSIS
#include
<openssl/cms.h>
CMS_ReceiptRequest *
CMS_ReceiptRequest_create0
(unsigned
char *id, int idlen, int
allorfirst, STACK_OF(GENERAL_NAMES)
*receiptList, STACK_OF(GENERAL_NAMES)
*receiptsTo);
int
CMS_add1_ReceiptRequest
(CMS_SignerInfo
*si, CMS_ReceiptRequest *rr);
int
CMS_get1_ReceiptRequest
(CMS_SignerInfo
*si, CMS_ReceiptRequest **prr);
void
CMS_ReceiptRequest_get0_values
(CMS_ReceiptRequest
*rr, ASN1_STRING **pcid, int
*pallorfirst, STACK_OF(GENERAL_NAMES) **plist,
STACK_OF(GENERAL_NAMES) **prto);
DESCRIPTION
CMS_ReceiptRequest_create0
()
creates a new ReceiptRequest structure. The
signedContentIdentifier field is set using
id and idlen, or it is set to 32
bytes of pseudo random data if id is
NULL
. If receiptList is
NULL
, the allOrFirstTier option
in the receiptsFrom field is set to the value of the
allorfirst argument. If
receiptList is not NULL
, the
receiptList option in the
receiptsFrom field is used. The
receiptsTo argument specifies the value of the
receiptsTo field.
CMS_add1_ReceiptRequest
()
adds a BER-encoded copy of rr to
si.
CMS_get1_ReceiptRequest
()
looks for a signed receipt request in si. If any is
found, it is decoded and written to prr.
CMS_ReceiptRequest_get0_values
()
retrieves the values of a receipt request. The
signedContentIdentifier is copied to
pcid. If the allOrFirstTier
option is used in the receiptsFrom field, its value is
copied to pallorfirst; otherwise the
receiptList field is copied to
plist. The receiptsTo field is
copied to prto.
The contents of a signed receipt should only be considered meaningful if the corresponding CMS_ContentInfo structure can be successfully verified using CMS_verify(3).
RETURN VALUES
CMS_ReceiptRequest_create0
() returns the
new signed receipt request structure or NULL
if an
error occurred.
CMS_add1_ReceiptRequest
() returns 1 for
success or 0 if an error occurred.
CMS_get1_ReceiptRequest
() returns 1 is a
signed receipt request is found and decoded. It returns 0 if a signed
receipt request is not present or -1 if it is present but malformed.
SEE ALSO
CMS_ContentInfo_new(3), CMS_sign(3), CMS_sign_receipt(3), CMS_verify(3), CMS_verify_receipt(3), ERR_get_error(3)
STANDARDS
RFC 2634: Enhanced Security Services for S/MIME, section 2.7: Receipt Request Syntax
HISTORY
CMS_ReceiptRequest_create0
(),
CMS_add1_ReceiptRequest
(),
CMS_get1_ReceiptRequest
(), and
CMS_ReceiptRequest_get0_values
() first appeared in
OpenSSL 0.9.8h and have been available since OpenBSD
6.7.