Revert argument swap change... oops CMS_uncompress() was consistent...
[openssl.git] / doc / crypto / CMS_add0_cert.pod
1 =pod
2
3 =head1 NAME
4
5  CMS_add0_cert, CMS_add1_cert, CMS_get1_certs, CMS_add0_crl, CMS_get1_crls, - CMS certificate and CRL utility functions
6
7 =head1 SYNOPSIS
8
9  #include <openssl/cms.h>
10
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);
14
15  int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl);
16  STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms);
17
18
19 =head1 DESCRIPTION
20
21 CMS_add0_cert() and CMS_add1_cert() add certificate B<cert> to B<cms>.
22 must be of type signed data or enveloped data. 
23
24 CMS_get1_certs() returns all certificates in B<cms>.
25
26 CMS_add0_crl() adds CRL B<crl> to B<cms>. CMS_get1_crls() returns any CRLs in
27 B<cms>.
28
29 =head1 NOTES
30
31 The CMS_ContentInfo structure B<cms> must be of type signed data or enveloped
32 data or an error will be returned.
33
34 For signed data certificates and CRLs are added to the B<certificates> and
35 B<crls> fields of SignedData structure. For enveloped data they are added to
36 B<OriginatorInfo>.
37
38 As the B<0> implies CMS_add0_cert() adds B<cert> internally to B<cms> and it
39 must not be freed up after the call as opposed to CMS_add1_cert() where B<cert>
40 must be freed up.
41
42 The same certificate or CRL must not be added to the same cms structure more
43 than once.
44
45 =head1 RETURN VALUES
46
47 CMS_add0_cert(), CMS_add1_cert() and CMS_add0_crl() return 1 for success and
48 0 for failure. 
49
50 CMS_get1_certs() and CMS_get1_crls() return the STACK of certificates or CRLs
51 or NULL if there are none or an error occurs. The only error which will occur
52 in practice is if the B<cms> type is invalid.
53
54 =head1 SEE ALSO
55
56 L<ERR_get_error(3)|ERR_get_error(3)>,
57 L<CMS_sign(3)|CMS_sign(3)>,
58 L<CMS_encrypt(3)|CMS_encrypt(3)>
59
60 =head1 HISTORY
61
62 CMS_add0_cert(), CMS_add1_cert(), CMS_get1_certs(), CMS_add0_crl()
63 and CMS_get1_crls() were all first added to OpenSSL 0.9.8
64
65 =cut