5 CMS_add0_cert, CMS_add1_cert, CMS_get1_certs, CMS_add0_crl, CMS_get1_crls, - CMS certificate and CRL utility functions
9 #include <openssl/cms.h>
11 int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert);
12 int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert);
13 STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms);
15 int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl);
16 STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms);
21 CMS_add0_cert() and CMS_add1_cert() add certificate B<cert> to B<cms> which
22 must be of type signed data or enveloped data.
24 CMS_get1_certs() returns all certificates in B<cms>.
26 CMS_add0_crl() adds CRL B<crl> to B<cms> which must be of type signed data or
27 enveloped data. CMS_get1_crls() returns any CRLs in B<cms>.
31 As the B<0> implies CMS_add0_cert() adds B<cert> internally to B<cms> and it
32 must not be freed up after the call as opposed to CMS_add1_cert() where B<cert>
35 The same certificate or CRL must not be added to the same cms structure more
38 For signed data CMS types certificates and CRLs are added to the
39 B<certificates> and B<crls> fields of the SignedData structure. For enveloped
40 data they are added to B<OriginatorInfo>.
44 CMS_add0_cert(), CMS_add1_cert() and CMS_add0_crl() return 1 for success and
47 CMS_get1_certs() and CMS_get1_crls() return the STACK of certificates or CRLs
48 or NULL if there are none or an error occurs. The only error which will occur
49 in practice is if the B<cms> type is invalid.
53 L<ERR_get_error(3)|ERR_get_error(3)>
57 CMS_get0_type(), CMS_set1_eContentType() and CMS_get0_eContentType() were all
58 first added to OpenSSL 0.9.8