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_ADD0_CERT(3) | Library Functions Manual | CMS_ADD0_CERT(3) | 
NAME
CMS_add0_cert,
    CMS_add1_cert,
    CMS_get1_certs,
    CMS_add0_crl, CMS_add1_crl,
    CMS_get1_crls — CMS
    certificate and CRL utility functions
SYNOPSIS
#include
    <openssl/cms.h>
int
  
  CMS_add0_cert(CMS_ContentInfo
    *cms, X509 *certificate);
int
  
  CMS_add1_cert(CMS_ContentInfo
    *cms, X509 *certificate);
STACK_OF(X509) *
  
  CMS_get1_certs(CMS_ContentInfo
    *cms);
int
  
  CMS_add0_crl(CMS_ContentInfo
    *cms, X509_CRL *crl);
int
  
  CMS_add1_crl(CMS_ContentInfo
    *cms, X509_CRL *crl);
STACK_OF(X509_CRL) *
  
  CMS_get1_crls(CMS_ContentInfo
    *cms);
DESCRIPTION
CMS_add0_cert()
    adds the certificate to the
    certificates field of cms if it
    is of the type SignedData or to the
    originatorInfo.certs field if it is of the type
    EnvelopedData.
    CMS_add1_cert()
    does the same and also increments the reference count of the
    certificate with
    X509_up_ref(3) in case
    of success.
CMS_get1_certs()
    returns all certificates in cms.
CMS_add0_crl()
    adds the crl to the crls field
    of cms if it is of the type
    SignedData or to the
    originatorInfo.crls field if it is of the type
    EnvelopedData.
    CMS_add1_crl()
    does the same and also increments the reference count of the
    crl with
    X509_CRL_up_ref(3)
    in case of success.
CMS_get1_crls()
    returns any CRLs in cms.
An error occurs if cms is of any type other than SignedData or EnvelopedData.
The same certificate or crl must not be added to the same cms structure more than once.
RETURN VALUES
CMS_add0_cert(),
    CMS_add1_cert(),
    CMS_add0_crl(), and
    CMS_add1_crl() return 1 for success or 0 for
    failure.
CMS_get1_certs() and
    CMS_get1_crls() return the STACK of certificates or
    CRLs or NULL if there are none or an error occurs.
    The only error which will occur in practice is if the
    cms type is invalid.
SEE ALSO
CMS_ContentInfo_new(3), CMS_encrypt(3), CMS_final(3), CMS_sign(3), ERR_get_error(3)
STANDARDS
RFC 5652: Cryptographic Message Syntax
- section 5.1: SignedData Type
 - section 6.1: EnvelopedData Type
 
HISTORY
CMS_add0_cert(),
    CMS_add1_cert(),
    CMS_get1_certs(),
    CMS_add0_crl(), and
    CMS_get1_crls() first appeared in OpenSSL 0.9.8h and
    CMS_add1_crl() in OpenSSL 1.0.0. These functions
    have been available since OpenBSD 6.7.
| November 2, 2019 | Sortix 1.1.0-dev |