summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/man/SMIME_write_CMS.3
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/man/SMIME_write_CMS.3')
-rw-r--r--src/lib/libcrypto/man/SMIME_write_CMS.3109
1 files changed, 95 insertions, 14 deletions
diff --git a/src/lib/libcrypto/man/SMIME_write_CMS.3 b/src/lib/libcrypto/man/SMIME_write_CMS.3
index 1a691fc29a..5f4c43bb7c 100644
--- a/src/lib/libcrypto/man/SMIME_write_CMS.3
+++ b/src/lib/libcrypto/man/SMIME_write_CMS.3
@@ -1,7 +1,24 @@
1.\" $OpenBSD: SMIME_write_CMS.3,v 1.8 2025/06/11 14:23:14 schwarze Exp $ 1.\" $OpenBSD: SMIME_write_CMS.3,v 1.9 2025/06/11 23:16:32 schwarze Exp $
2.\" full merge up to: OpenSSL 99d63d46 Oct 26 13:56:48 2016 -0400 2.\" full merge up to: OpenSSL 99d63d46 Oct 26 13:56:48 2016 -0400
3.\" 3.\"
4.\" This file was written by Dr. Stephen Henson <steve@openssl.org>. 4.\" This file is a derived work.
5.\" The changes are covered by the following Copyright and license:
6.\"
7.\" Copyright (c) 2021, 2025 Ingo Schwarze <schwarze@openbsd.org>
8.\"
9.\" Permission to use, copy, modify, and distribute this software for any
10.\" purpose with or without fee is hereby granted, provided that the above
11.\" copyright notice and this permission notice appear in all copies.
12.\"
13.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
14.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
15.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
16.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
17.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
18.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
19.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
20.\"
21.\" The original file was written by Dr. Stephen Henson <steve@openssl.org>.
5.\" Copyright (c) 2008 The OpenSSL Project. All rights reserved. 22.\" Copyright (c) 2008 The OpenSSL Project. All rights reserved.
6.\" 23.\"
7.\" Redistribution and use in source and binary forms, with or without 24.\" Redistribution and use in source and binary forms, with or without
@@ -66,21 +83,35 @@
66.Fc 83.Fc
67.Sh DESCRIPTION 84.Sh DESCRIPTION
68.Fn SMIME_write_CMS 85.Fn SMIME_write_CMS
69adds the appropriate MIME headers to the 86generates an S/MIME message on
70.Fa cms 87.Fa out
71structure to produce an S/MIME message and writes it to 88by writing MIME 1.0 headers
72.Fa out . 89followed by a BER- and base64-encoded serialization of
90.Fa cms .
91The BER encoding uses the DER format except as described for
92.Dv CMS_STREAM
93below.
73If streaming is enabled, the content must be supplied in the 94If streaming is enabled, the content must be supplied in the
74.Fa data 95.Fa data
75argument. 96argument.
76.Pp 97.Pp
77The following 98The
78.Fa flags 99.Fa flags
79can be passed: 100can be the logical OR of zero or more of the following bits:
80.Bl -tag -width Ds 101.Bl -tag -width Ds
81.It Dv CMS_DETACHED 102.It Dv CMS_DETACHED
82Use cleartext signing. 103Use cleartext signing and generate a
83This option only makes sense if 104.Qq multipart/signed
105S/MIME message.
106The content is read from
107.Fa data .
108If
109.Fa data
110is a
111.Dv NULL
112pointer, this flag is ignored.
113.Pp
114This flag is only supported if
84.Fa cms 115.Fa cms
85is of the type 116is of the type
86.Vt SignedData 117.Vt SignedData
@@ -95,13 +126,46 @@ is not set, the data must be read twice:
95once to compute the signature in 126once to compute the signature in
96.Xr CMS_sign 3 127.Xr CMS_sign 3
97and once to output the S/MIME message. 128and once to output the S/MIME message.
98.It Dv CMS_TEXT 129.Pp
99Add MIME headers for type text/plain to the content. 130If
100This only makes sense if 131.Dv CMS_DETACHED
132is ignored or not specified, the smime-type is chosen according to
133.Xr CMS_get0_type 3 :
134.Bl -tag -width Ds
135.It Dv NID_pkcs7_enveloped
136.Qq enveloped-data
137.It Dv NID_pkcs7_signed
138.Bl -tag -width Msigned-receiptM -compact
139.It Qq signed-receipt
140if
141.Xr CMS_get0_eContentType 3
142is
143.Dv NID_id_smime_ct_receipt
144.It Qq signed-data
145if
146.Fa cms
147specifies any digest algorithm
148.It Qq certs-only
149otherwise
150.El
151.It Dv NID_id_smime_ct_compressedData
152.Qq compressed-data
153.El
154.It Dv CMS_REUSE_DIGEST
155Skip the calls to
156.Xr CMS_dataInit 3
157and
158.Xr CMS_dataFinal 3 .
159This flag has no effect unless
101.Dv CMS_DETACHED 160.Dv CMS_DETACHED
102is also set. 161is also set.
103.It Dv CMS_STREAM 162.It Dv CMS_STREAM
104Perform streaming. 163Perform streaming by reading the content from
164.Fa data .
165This only works if
166.Dv CMS_DETACHED
167is not specified.
168.Pp
105This flag should only be set if 169This flag should only be set if
106.Dv CMS_STREAM 170.Dv CMS_STREAM
107was also passed to the function that created 171was also passed to the function that created
@@ -112,6 +176,23 @@ constructed encoding except in the case of
112.Vt SignedData 176.Vt SignedData
113with detached content where the content is absent and DER format is 177with detached content where the content is absent and DER format is
114used. 178used.
179.It Dv CMS_TEXT
180Prepend the line
181.Qq Content-Type: text/plain
182to the content.
183This only makes sense if
184.Dv CMS_DETACHED
185is also set.
186It is ignored if the flag
187.Dv SMIME_BINARY
188is also set.
189.It Dv SMIME_BINARY
190If specified, this flag is passed through to
191.Xr SMIME_crlf_copy 3 .
192.It Dv SMIME_CRLFEOL
193End MIME header lines with pairs of carriage return and newline characters.
194By default, no carriage return characters are written
195and header lines are ended with newline characters only.
115.El 196.El
116.Sh RETURN VALUES 197.Sh RETURN VALUES
117.Fn SMIME_write_CMS 198.Fn SMIME_write_CMS