CMS_sign_receipt - create a CMS signed receipt
 #include <openssl/cms.h>
 CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, X509 *signcert,
                                   EVP_PKEY *pkey, STACK_OF(X509) *certs,
                                   unsigned int flags);
CMS_sign_receipt() creates and returns a CMS signed receipt structure.
  si is the CMS_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).
flags is an optional set of flags.
This functions behaves in a similar way to CMS_sign() except the flag
  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.
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).
ERR_get_error(3), CMS_verify_receipt(3), CMS_sign(3)
Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License").
    You may not use this file except in compliance with the License. You can
    obtain a copy in the file LICENSE in the source distribution or at
    <https://www.openssl.org/source/license.html>.