Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
| 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 | Sortix 1.1.0-dev | 
