| CMS_GET1_RECEIPTREQUEST(3) | Library Functions Manual | CMS_GET1_RECEIPTREQUEST(3) |
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.
| November 2, 2019 | Linux 6.4.0-150700.53.16-default |