]>
Commit | Line | Data |
---|---|---|
4e1b50e2 DSH |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
bb9ad09e | 5 | SMIME_write_PKCS7 - convert PKCS#7 structure to S/MIME format |
4e1b50e2 DSH |
6 | |
7 | =head1 SYNOPSIS | |
8 | ||
c264592d UM |
9 | #include <openssl/pkcs7.h> |
10 | ||
11 | int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags); | |
4e1b50e2 DSH |
12 | |
13 | =head1 DESCRIPTION | |
14 | ||
15 | SMIME_write_PKCS7() adds the appropriate MIME headers to a PKCS#7 | |
16 | structure to produce an S/MIME message. | |
17 | ||
731c6802 DSH |
18 | B<out> is the BIO to write the data to. B<p7> is the appropriate B<PKCS7> |
19 | structure. If streaming is enabled then the content must be supplied in the | |
20 | B<data> argument. B<flags> is an optional set of flags. | |
4e1b50e2 DSH |
21 | |
22 | =head1 NOTES | |
23 | ||
24 | The following flags can be passed in the B<flags> parameter. | |
25 | ||
26 | If B<PKCS7_DETACHED> is set then cleartext signing will be used, | |
27 | this option only makes sense for signedData where B<PKCS7_DETACHED> | |
28 | is also set when PKCS7_sign() is also called. | |
29 | ||
30 | If the B<PKCS7_TEXT> flag is set MIME headers for type B<text/plain> | |
31 | are added to the content, this only makes sense if B<PKCS7_DETACHED> | |
32 | is also set. | |
33 | ||
731c6802 DSH |
34 | If the B<PKCS7_STREAM> flag is set streaming is performed. This flag should |
35 | only be set if B<PKCS7_STREAM> was also set in the previous call to | |
35cb565a | 36 | PKCS7_sign() or PKCS7_encrypt(). |
4cadedef | 37 | |
731c6802 | 38 | If cleartext signing is being used and B<PKCS7_STREAM> not set then |
4cadedef DSH |
39 | the data must be read twice: once to compute the signature in PKCS7_sign() |
40 | and once to output the S/MIME message. | |
4e1b50e2 | 41 | |
731c6802 | 42 | If streaming is performed the content is output in BER format using indefinite |
186bb907 | 43 | length constructed encoding except in the case of signed data with detached |
731c6802 DSH |
44 | content where the content is absent and DER format is used. |
45 | ||
4e1b50e2 DSH |
46 | =head1 BUGS |
47 | ||
48 | SMIME_write_PKCS7() always base64 encodes PKCS#7 structures, there | |
49 | should be an option to disable this. | |
50 | ||
4e1b50e2 DSH |
51 | =head1 RETURN VALUES |
52 | ||
53 | SMIME_write_PKCS7() returns 1 for success or 0 for failure. | |
54 | ||
55 | =head1 SEE ALSO | |
56 | ||
9b86974e RS |
57 | L<ERR_get_error(3)>, L<PKCS7_sign(3)>, |
58 | L<PKCS7_verify(3)>, L<PKCS7_encrypt(3)> | |
59 | L<PKCS7_decrypt(3)> | |
4e1b50e2 | 60 | |
e2f92610 RS |
61 | =head1 COPYRIGHT |
62 | ||
63 | Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved. | |
64 | ||
4746f25a | 65 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
66 | this file except in compliance with the License. You can obtain a copy |
67 | in the file LICENSE in the source distribution or at | |
68 | L<https://www.openssl.org/source/license.html>. | |
69 | ||
70 | =cut |