Blame doc/man3/SMIME_write_PKCS7.pod

Packit Service 084de1
=pod
Packit Service 084de1
Packit Service 084de1
=head1 NAME
Packit Service 084de1
Packit Service 084de1
SMIME_write_PKCS7 - convert PKCS#7 structure to S/MIME format
Packit Service 084de1
Packit Service 084de1
=head1 SYNOPSIS
Packit Service 084de1
Packit Service 084de1
 #include <openssl/pkcs7.h>
Packit Service 084de1
Packit Service 084de1
 int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags);
Packit Service 084de1
Packit Service 084de1
=head1 DESCRIPTION
Packit Service 084de1
Packit Service 084de1
SMIME_write_PKCS7() adds the appropriate MIME headers to a PKCS#7
Packit Service 084de1
structure to produce an S/MIME message.
Packit Service 084de1
Packit Service 084de1
B<out> is the BIO to write the data to. B<p7> is the appropriate B<PKCS7>
Packit Service 084de1
structure. If streaming is enabled then the content must be supplied in the
Packit Service 084de1
B<data> argument. B<flags> is an optional set of flags.
Packit Service 084de1
Packit Service 084de1
=head1 NOTES
Packit Service 084de1
Packit Service 084de1
The following flags can be passed in the B<flags> parameter.
Packit Service 084de1
Packit Service 084de1
If B<PKCS7_DETACHED> is set then cleartext signing will be used,
Packit Service 084de1
this option only makes sense for signedData where B<PKCS7_DETACHED>
Packit Service 084de1
is also set when PKCS7_sign() is also called.
Packit Service 084de1
Packit Service 084de1
If the B<PKCS7_TEXT> flag is set MIME headers for type B<text/plain>
Packit Service 084de1
are added to the content, this only makes sense if B<PKCS7_DETACHED>
Packit Service 084de1
is also set.
Packit Service 084de1
Packit Service 084de1
If the B<PKCS7_STREAM> flag is set streaming is performed. This flag should
Packit Service 084de1
only be set if B<PKCS7_STREAM> was also set in the previous call to
Packit Service 084de1
PKCS7_sign() or PKCS7_encrypt().
Packit Service 084de1
Packit Service 084de1
If cleartext signing is being used and B<PKCS7_STREAM> not set then
Packit Service 084de1
the data must be read twice: once to compute the signature in PKCS7_sign()
Packit Service 084de1
and once to output the S/MIME message.
Packit Service 084de1
Packit Service 084de1
If streaming is performed the content is output in BER format using indefinite
Packit Service 084de1
length constructed encoding except in the case of signed data with detached
Packit Service 084de1
content where the content is absent and DER format is used.
Packit Service 084de1
Packit Service 084de1
=head1 BUGS
Packit Service 084de1
Packit Service 084de1
SMIME_write_PKCS7() always base64 encodes PKCS#7 structures, there
Packit Service 084de1
should be an option to disable this.
Packit Service 084de1
Packit Service 084de1
=head1 RETURN VALUES
Packit Service 084de1
Packit Service 084de1
SMIME_write_PKCS7() returns 1 for success or 0 for failure.
Packit Service 084de1
Packit Service 084de1
=head1 SEE ALSO
Packit Service 084de1
Packit Service 084de1
L<ERR_get_error(3)>, L<PKCS7_sign(3)>,
Packit Service 084de1
L<PKCS7_verify(3)>, L<PKCS7_encrypt(3)>
Packit Service 084de1
L<PKCS7_decrypt(3)>
Packit Service 084de1
Packit Service 084de1
=head1 COPYRIGHT
Packit Service 084de1
Packit Service 084de1
Copyright 2002-2016 The OpenSSL Project Authors. All Rights Reserved.
Packit Service 084de1
Packit Service 084de1
Licensed under the OpenSSL license (the "License").  You may not use
Packit Service 084de1
this file except in compliance with the License.  You can obtain a copy
Packit Service 084de1
in the file LICENSE in the source distribution or at
Packit Service 084de1
L<https://www.openssl.org/source/license.html>.
Packit Service 084de1
Packit Service 084de1
=cut