]>
Commit | Line | Data |
---|---|---|
6469a1fd DSH |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
d8652be0 | 5 | CMS_ReceiptRequest_create0_ex, CMS_ReceiptRequest_create0, |
c1669f41 SL |
6 | CMS_add1_ReceiptRequest, CMS_get1_ReceiptRequest, CMS_ReceiptRequest_get0_values |
7 | - CMS signed receipt request functions | |
6469a1fd DSH |
8 | |
9 | =head1 SYNOPSIS | |
10 | ||
11 | #include <openssl/cms.h> | |
12 | ||
d8652be0 | 13 | CMS_ReceiptRequest *CMS_ReceiptRequest_create0_ex( |
c1669f41 SL |
14 | unsigned char *id, int idlen, int allorfirst, |
15 | STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES) *receiptsTo, | |
b4250010 | 16 | OSSL_LIB_CTX *libctx, const char *propq); |
c1669f41 SL |
17 | CMS_ReceiptRequest *CMS_ReceiptRequest_create0( |
18 | unsigned char *id, int idlen, int allorfirst, | |
19 | STACK_OF(GENERAL_NAMES) *receiptList, STACK_OF(GENERAL_NAMES) *receiptsTo); | |
38d3a738 DSH |
20 | int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); |
21 | int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); | |
e9b77246 BB |
22 | void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, ASN1_STRING **pcid, |
23 | int *pallorfirst, | |
24 | STACK_OF(GENERAL_NAMES) **plist, | |
25 | STACK_OF(GENERAL_NAMES) **prto); | |
6469a1fd DSH |
26 | |
27 | =head1 DESCRIPTION | |
28 | ||
d8652be0 | 29 | CMS_ReceiptRequest_create0_ex() creates a signed receipt request |
c1669f41 SL |
30 | structure. The B<signedContentIdentifier> field is set using I<id> and I<idlen>, |
31 | or it is set to 32 bytes of pseudo random data if I<id> is NULL. | |
32 | If I<receiptList> is NULL the allOrFirstTier option in I<receiptsFrom> is used | |
33 | and set to the value of the I<allorfirst> parameter. If I<receiptList> is not | |
34 | NULL the I<receiptList> option in I<receiptsFrom> is used. The I<receiptsTo> | |
35 | parameter specifies the I<receiptsTo> field value. The library context I<libctx> | |
36 | and the property query I<propq> are used when retrieving algorithms from providers. | |
37 | ||
38 | CMS_ReceiptRequest_create0() is similar to | |
d8652be0 | 39 | CMS_ReceiptRequest_create0_ex() but uses default values of NULL for the |
c1669f41 | 40 | library context I<libctx> and the property query I<propq>. |
6469a1fd DSH |
41 | |
42 | The CMS_add1_ReceiptRequest() function adds a signed receipt request B<rr> | |
c420fab5 | 43 | to SignerInfo structure B<si>. |
6469a1fd DSH |
44 | |
45 | int CMS_get1_ReceiptRequest() looks for a signed receipt request in B<si>, if | |
46 | any is found it is decoded and written to B<prr>. | |
47 | ||
48 | CMS_ReceiptRequest_get0_values() retrieves the values of a receipt request. | |
49 | The signedContentIdentifier is copied to B<pcid>. If the B<allOrFirstTier> | |
50 | option of B<receiptsFrom> is used its value is copied to B<pallorfirst> | |
51 | otherwise the B<receiptList> field is copied to B<plist>. The B<receiptsTo> | |
52 | parameter is copied to B<prto>. | |
53 | ||
54 | =head1 NOTES | |
55 | ||
56 | For more details of the meaning of the fields see RFC2634. | |
57 | ||
58 | The contents of a signed receipt should only be considered meaningful if the | |
59 | corresponding CMS_ContentInfo structure can be successfully verified using | |
60 | CMS_verify(). | |
61 | ||
62 | =head1 RETURN VALUES | |
63 | ||
d8652be0 | 64 | CMS_ReceiptRequest_create0_ex() and CMS_ReceiptRequest_create0() return |
c1669f41 | 65 | a signed receipt request structure or NULL if an error occurred. |
6469a1fd | 66 | |
34e4a964 | 67 | CMS_add1_ReceiptRequest() returns 1 for success or 0 if an error occurred. |
6469a1fd DSH |
68 | |
69 | CMS_get1_ReceiptRequest() returns 1 is a signed receipt request is found and | |
70 | decoded. It returns 0 if a signed receipt request is not present and -1 if | |
71 | it is present but malformed. | |
72 | ||
73 | =head1 SEE ALSO | |
74 | ||
9b86974e RS |
75 | L<ERR_get_error(3)>, L<CMS_sign(3)>, |
76 | L<CMS_sign_receipt(3)>, L<CMS_verify(3)> | |
77 | L<CMS_verify_receipt(3)> | |
6469a1fd | 78 | |
c1669f41 SL |
79 | =head1 HISTORY |
80 | ||
d8652be0 | 81 | The function CMS_ReceiptRequest_create0_ex() was added in OpenSSL 3.0. |
c1669f41 | 82 | |
e2f92610 RS |
83 | =head1 COPYRIGHT |
84 | ||
c1669f41 | 85 | Copyright 2008-2020 The OpenSSL Project Authors. All Rights Reserved. |
e2f92610 | 86 | |
4746f25a | 87 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
88 | this file except in compliance with the License. You can obtain a copy |
89 | in the file LICENSE in the source distribution or at | |
90 | L<https://www.openssl.org/source/license.html>. | |
91 | ||
92 | =cut |