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