summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/man/SMIME_write_CMS.3109
-rw-r--r--src/lib/libcrypto/man/SMIME_write_PKCS7.3135
2 files changed, 181 insertions, 63 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
diff --git a/src/lib/libcrypto/man/SMIME_write_PKCS7.3 b/src/lib/libcrypto/man/SMIME_write_PKCS7.3
index 72200c0b1b..5e344d9c63 100644
--- a/src/lib/libcrypto/man/SMIME_write_PKCS7.3
+++ b/src/lib/libcrypto/man/SMIME_write_PKCS7.3
@@ -1,10 +1,10 @@
1.\" $OpenBSD: SMIME_write_PKCS7.3,v 1.11 2025/06/11 14:23:14 schwarze Exp $ 1.\" $OpenBSD: SMIME_write_PKCS7.3,v 1.12 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 is a derived work. 4.\" This file is a derived work.
5.\" The changes are covered by the following Copyright and license: 5.\" The changes are covered by the following Copyright and license:
6.\" 6.\"
7.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org> 7.\" Copyright (c) 2021, 2025 Ingo Schwarze <schwarze@openbsd.org>
8.\" 8.\"
9.\" Permission to use, copy, modify, and distribute this software for any 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 10.\" purpose with or without fee is hereby granted, provided that the above
@@ -84,48 +84,81 @@
84.Fc 84.Fc
85.Sh DESCRIPTION 85.Sh DESCRIPTION
86.Fn SMIME_write_PKCS7 86.Fn SMIME_write_PKCS7
87adds the appropriate MIME headers to a PKCS#7 structure to produce an 87generates an S/MIME message on
88S/MIME message.
89.Pp
90.Fa out 88.Fa out
91is the 89by writing MIME 1.0 headers
92.Vt BIO 90followed by a BER- and base64-encoded serialization of
93to write the data to. 91.Fa p7 .
94.Fa p7 92The BER encoding uses the DER format except as described for
95is the appropriate 93.Dv PKCS7_STREAM
96.Vt PKCS7 94below.
97structure.
98If streaming is enabled, then the content must be supplied in the 95If streaming is enabled, then the content must be supplied in the
99.Fa data 96.Fa data
100argument. 97argument.
101.Fa flags
102is an optional set of flags.
103.Pp 98.Pp
104The following flags can be passed in the 99The
105.Fa flags 100.Fa flags
106parameter. 101can be the logical OR of zero or more of the following bits:
107.Pp 102.Bl -tag -width Ds
103.It Dv PKCS7_DETACHED
104Use cleartext signing and generate a
105.Qq multipart/signed
106S/MIME message.
107The content is read from
108.Fa data .
108If 109If
109.Dv PKCS7_DETACHED 110.Fa data
110is set, then cleartext signing will be used. 111is a
111This option only makes sense for signedData where 112.Dv NULL
113pointer, this flag is ignored.
114.Pp
115This flag is only supported for signedData where
112.Dv PKCS7_DETACHED 116.Dv PKCS7_DETACHED
113is also set when 117is also set when
114.Xr PKCS7_sign 3 118.Xr PKCS7_sign 3
115is also called. 119is called.
116.Pp 120.Pp
117If the 121If
118.Dv PKCS7_TEXT 122.Dv PKCS7_STREAM
119flag is set, MIME headers for type 123is not set, the data must be read twice: once to compute the
120.Sy text/plain 124signature in
121are added to the content. 125.Xr PKCS7_sign 3
122This only makes sense if 126and once to output the S/MIME message.
127.Pp
128If
129.Dv PKCS7_DETACHED
130is ignored or not specified, the smime-type is chosen according to the type of
131.Fa p7 :
132.Bl -tag -width Ds
133.It Dv NID_pkcs7_enveloped
134.Qq enveloped-data
135.It Dv NID_pkcs7_signed
136.Bl -tag -width Msigned-dataM -compact
137.It Qq signed-data
138if
139.Fa p7
140specifies any digest algorithm
141.It Qq certs-only
142otherwise
143.El
144.It Dv NID_id_smime_ct_compressedData
145.Qq compressed-data
146.El
147.It Dv PKCS7_REUSE_DIGEST
148Skip the calls to
149.Xr PKCS7_dataInit 3
150and
151.Xr PKCS7_dataFinal 3 .
152This flag has no effect unless
123.Dv PKCS7_DETACHED 153.Dv PKCS7_DETACHED
124is also set. 154is also set.
155.It Dv PKCS7_STREAM
156Perform streaming by reading the content from
157.Fa data .
158This only works if
159.Dv PKCS7_DETACHED
160is not specified.
125.Pp 161.Pp
126If the
127.Dv PKCS7_STREAM
128flag is set, streaming is performed.
129This flag should only be set if 162This flag should only be set if
130.Dv PKCS7_STREAM 163.Dv PKCS7_STREAM
131was also set in the previous call to 164was also set in the previous call to
@@ -133,13 +166,28 @@ was also set in the previous call to
133or 166or
134.Xr PKCS7_encrypt 3 . 167.Xr PKCS7_encrypt 3 .
135.Pp 168.Pp
136The bit 169The content is output in BER format using indefinite length constructed
137.Dv SMIME_OLDMIME 170encoding except in the case of signed data with detached content
138is inverted before passing on the 171where the content is absent and DER format is used.
139.Fa flags 172.It Dv PKCS7_TEXT
140to 173Prepend the line
141.Xr SMIME_write_ASN1 3 . 174.Qq Content-Type: text/plain
142Consequently, if this bit is set in the 175to the content.
176This only makes sense if
177.Dv PKCS7_DETACHED
178is also set.
179It is ignored if the flag
180.Dv SMIME_BINARY
181is also set.
182.It Dv SMIME_BINARY
183If specified, this flag is passed through to
184.Xr SMIME_crlf_copy 3 .
185.It Dv SMIME_CRLFEOL
186End MIME header lines with pairs of carriage return and newline characters.
187By default, no carriage return characters are written
188and header lines are ended with newline characters only.
189.It Dv SMIME_OLDMIME
190If this bit is set in the
143.Fa flags 191.Fa flags
144argument, 192argument,
145.Qq application/pkcs7-mime 193.Qq application/pkcs7-mime
@@ -151,18 +199,7 @@ Otherwise,
151or 199or
152.Qq application/x-pkcs7-signature 200.Qq application/x-pkcs7-signature
153is used. 201is used.
154.Pp 202.El
155If cleartext signing is being used and
156.Dv PKCS7_STREAM
157is not set, then the data must be read twice: once to compute the
158signature in
159.Xr PKCS7_sign 3
160and once to output the S/MIME message.
161.Pp
162If streaming is performed, the content is output in BER format using
163indefinite length constructed encoding except in the case of signed
164data with detached content where the content is absent and DER
165format is used.
166.Sh RETURN VALUES 203.Sh RETURN VALUES
167.Fn SMIME_write_PKCS7 204.Fn SMIME_write_PKCS7
168is intended to return 1 on success or 0 on failure. 205is intended to return 1 on success or 0 on failure.