summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/man/EVP_CIPHER_CTX_init.3150
-rw-r--r--src/lib/libcrypto/man/EVP_EncryptInit.372
-rw-r--r--src/lib/libcrypto/man/Makefile3
-rw-r--r--src/lib/libcrypto/man/evp.35
4 files changed, 165 insertions, 65 deletions
diff --git a/src/lib/libcrypto/man/EVP_CIPHER_CTX_init.3 b/src/lib/libcrypto/man/EVP_CIPHER_CTX_init.3
new file mode 100644
index 0000000000..3bb40018f5
--- /dev/null
+++ b/src/lib/libcrypto/man/EVP_CIPHER_CTX_init.3
@@ -0,0 +1,150 @@
1.\" $OpenBSD: EVP_CIPHER_CTX_init.3,v 1.1 2023/12/01 10:40:21 schwarze Exp $
2.\" full merge up to:
3.\" OpenSSL EVP_EncryptInit.pod 0874d7f2 Oct 11 13:13:47 2022 +0100
4.\"
5.\" This file is a derived work.
6.\" The changes are covered by the following Copyright and license:
7.\"
8.\" Copyright (c) 2018, 2019 Ingo Schwarze <schwarze@openbsd.org>
9.\"
10.\" Permission to use, copy, modify, and distribute this software for any
11.\" purpose with or without fee is hereby granted, provided that the above
12.\" copyright notice and this permission notice appear in all copies.
13.\"
14.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
15.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
16.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
17.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
19.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
20.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21.\"
22.\" The original file was written by Dr. Stephen Henson <steve@openssl.org>
23.\" and Richard Levitte <levitte@openssl.org>.
24.\" Copyright (c) 2000-2001, 2015 The OpenSSL Project.
25.\" All rights reserved.
26.\"
27.\" Redistribution and use in source and binary forms, with or without
28.\" modification, are permitted provided that the following conditions
29.\" are met:
30.\"
31.\" 1. Redistributions of source code must retain the above copyright
32.\" notice, this list of conditions and the following disclaimer.
33.\"
34.\" 2. Redistributions in binary form must reproduce the above copyright
35.\" notice, this list of conditions and the following disclaimer in
36.\" the documentation and/or other materials provided with the
37.\" distribution.
38.\"
39.\" 3. All advertising materials mentioning features or use of this
40.\" software must display the following acknowledgment:
41.\" "This product includes software developed by the OpenSSL Project
42.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
43.\"
44.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
45.\" endorse or promote products derived from this software without
46.\" prior written permission. For written permission, please contact
47.\" openssl-core@openssl.org.
48.\"
49.\" 5. Products derived from this software may not be called "OpenSSL"
50.\" nor may "OpenSSL" appear in their names without prior written
51.\" permission of the OpenSSL Project.
52.\"
53.\" 6. Redistributions of any form whatsoever must retain the following
54.\" acknowledgment:
55.\" "This product includes software developed by the OpenSSL Project
56.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)"
57.\"
58.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
59.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
60.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
61.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
62.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
63.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
64.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
65.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
66.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
67.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
68.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
69.\" OF THE POSSIBILITY OF SUCH DAMAGE.
70.\"
71.Dd $Mdocdate: December 1 2023 $
72.Dt EVP_CIPHER_CTX_INIT 3
73.Os
74.Sh NAME
75.Nm EVP_CIPHER_CTX_init ,
76.Nm EVP_CIPHER_CTX_cleanup ,
77.Nm EVP_Cipher
78.Nd obsolete EVP cipher functions
79.Sh SYNOPSIS
80.In openssl/evp.h
81.Ft void
82.Fo EVP_CIPHER_CTX_init
83.Fa "EVP_CIPHER_CTX *ctx"
84.Fc
85.Ft int
86.Fo EVP_CIPHER_CTX_cleanup
87.Fa "EVP_CIPHER_CTX *ctx"
88.Fc
89.Ft int
90.Fo EVP_Cipher
91.Fa "EVP_CIPHER_CTX *ctx"
92.Fa "unsigned char *out"
93.Fa "const unsigned char *in"
94.Fa "unsigned int inl"
95.Fc
96.Sh DESCRIPTION
97.Fn EVP_CIPHER_CTX_init
98is a deprecated function to clear a cipher context on the stack
99before use.
100Do not use it on a cipher context returned from
101.Xr EVP_CIPHER_CTX_new 3
102or one that was already used.
103.Pp
104.Fn EVP_CIPHER_CTX_cleanup
105is a deprecated alias for
106.Xr EVP_CIPHER_CTX_reset 3 .
107It clears all information from
108.Fa ctx
109and frees all allocated memory associated with it, except the
110.Fa ctx
111object itself.
112.Pp
113.Fn EVP_Cipher
114encrypts or decrypts aligned blocks of data
115whose lengths match the cipher block size.
116It requires that the previous encryption or decryption operation
117using the same
118.Fa ctx ,
119if there was any, ended exactly on a block boundary and that
120.Fa inl
121is an integer multiple of the cipher block size.
122If either of these conditions is violated,
123.Fn EVP_Cipher
124silently produces incorrect results.
125For that reason, using the function
126.Xr EVP_CipherUpdate 3
127instead is strongly recommended.
128The latter can safely handle partial blocks, and even if
129.Fa inl
130actually is a multiple of the cipher block size for all calls,
131the overhead incurred by using
132.Xr EVP_CipherUpdate 3
133is minimal.
134.Sh RETURN VALUES
135.Fn EVP_CIPHER_CTX_cleanup
136and
137.Fn EVP_Cipher
138return 1 for success or 0 for failure.
139.Sh SEE ALSO
140.Xr evp 3 ,
141.Xr EVP_EncryptInit 3
142.Sh HISTORY
143.Fn EVP_Cipher
144first appeared in SSLeay 0.6.5.
145.Fn EVP_CIPHER_CTX_cleanup
146first appeared in SSLeay 0.8.0.
147.Fn EVP_CIPHER_CTX_init
148first appeared in SSLeay 0.9.0.
149All these functions have been available since
150.Ox 2.4 .
diff --git a/src/lib/libcrypto/man/EVP_EncryptInit.3 b/src/lib/libcrypto/man/EVP_EncryptInit.3
index ddec4e7e79..8fc615b07e 100644
--- a/src/lib/libcrypto/man/EVP_EncryptInit.3
+++ b/src/lib/libcrypto/man/EVP_EncryptInit.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EVP_EncryptInit.3,v 1.48 2023/08/31 17:27:41 schwarze Exp $ 1.\" $OpenBSD: EVP_EncryptInit.3,v 1.49 2023/12/01 10:40:21 schwarze Exp $
2.\" full merge up to: OpenSSL 5211e094 Nov 11 14:39:11 2014 -0800 2.\" full merge up to: OpenSSL 5211e094 Nov 11 14:39:11 2014 -0800
3.\" EVP_bf_cbc.pod EVP_cast5_cbc.pod EVP_idea_cbc.pod EVP_rc2_cbc.pod 3.\" EVP_bf_cbc.pod EVP_cast5_cbc.pod EVP_idea_cbc.pod EVP_rc2_cbc.pod
4.\" 7c6d372a Nov 20 13:20:01 2018 +0000 4.\" 7c6d372a Nov 20 13:20:01 2018 +0000
@@ -69,14 +69,12 @@
69.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 69.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
70.\" OF THE POSSIBILITY OF SUCH DAMAGE. 70.\" OF THE POSSIBILITY OF SUCH DAMAGE.
71.\" 71.\"
72.Dd $Mdocdate: August 31 2023 $ 72.Dd $Mdocdate: December 1 2023 $
73.Dt EVP_ENCRYPTINIT 3 73.Dt EVP_ENCRYPTINIT 3
74.Os 74.Os
75.Sh NAME 75.Sh NAME
76.Nm EVP_CIPHER_CTX_new , 76.Nm EVP_CIPHER_CTX_new ,
77.Nm EVP_CIPHER_CTX_reset , 77.Nm EVP_CIPHER_CTX_reset ,
78.Nm EVP_CIPHER_CTX_cleanup ,
79.Nm EVP_CIPHER_CTX_init ,
80.Nm EVP_CIPHER_CTX_free , 78.Nm EVP_CIPHER_CTX_free ,
81.Nm EVP_CIPHER_CTX_copy , 79.Nm EVP_CIPHER_CTX_copy ,
82.Nm EVP_EncryptInit_ex , 80.Nm EVP_EncryptInit_ex ,
@@ -94,7 +92,6 @@
94.Nm EVP_DecryptFinal , 92.Nm EVP_DecryptFinal ,
95.Nm EVP_CipherInit , 93.Nm EVP_CipherInit ,
96.Nm EVP_CipherFinal , 94.Nm EVP_CipherFinal ,
97.Nm EVP_Cipher ,
98.Nm EVP_CIPHER_CTX_encrypting , 95.Nm EVP_CIPHER_CTX_encrypting ,
99.Nm EVP_get_cipherbyname , 96.Nm EVP_get_cipherbyname ,
100.Nm EVP_get_cipherbynid , 97.Nm EVP_get_cipherbynid ,
@@ -132,14 +129,6 @@
132.Fo EVP_CIPHER_CTX_reset 129.Fo EVP_CIPHER_CTX_reset
133.Fa "EVP_CIPHER_CTX *ctx" 130.Fa "EVP_CIPHER_CTX *ctx"
134.Fc 131.Fc
135.Ft int
136.Fo EVP_CIPHER_CTX_cleanup
137.Fa "EVP_CIPHER_CTX *ctx"
138.Fc
139.Ft void
140.Fo EVP_CIPHER_CTX_init
141.Fa "EVP_CIPHER_CTX *ctx"
142.Fc
143.Ft void 132.Ft void
144.Fo EVP_CIPHER_CTX_free 133.Fo EVP_CIPHER_CTX_free
145.Fa "EVP_CIPHER_CTX *ctx" 134.Fa "EVP_CIPHER_CTX *ctx"
@@ -257,13 +246,6 @@
257.Fa "int *outl" 246.Fa "int *outl"
258.Fc 247.Fc
259.Ft int 248.Ft int
260.Fo EVP_Cipher
261.Fa "EVP_CIPHER_CTX *ctx"
262.Fa "unsigned char *out"
263.Fa "const unsigned char *in"
264.Fa "unsigned int inl"
265.Fc
266.Ft int
267.Fo EVP_CIPHER_CTX_encrypting 249.Fo EVP_CIPHER_CTX_encrypting
268.Fa "const EVP_CIPHER_CTX *ctx" 250.Fa "const EVP_CIPHER_CTX *ctx"
269.Fc 251.Fc
@@ -300,16 +282,6 @@ object itself, such that it can be reused for another series of calls to
300.Fn EVP_CipherUpdate , 282.Fn EVP_CipherUpdate ,
301and 283and
302.Fn EVP_CipherFinal . 284.Fn EVP_CipherFinal .
303.Fn EVP_CIPHER_CTX_cleanup
304is a deprecated alias for
305.Fn EVP_CIPHER_CTX_reset .
306.Pp
307.Fn EVP_CIPHER_CTX_init
308is a deprecated function to clear a cipher context on the stack
309before use.
310Do not use it on a cipher context returned from
311.Fn EVP_CIPHER_CTX_new
312or one that was already used.
313.Pp 285.Pp
314.Fn EVP_CIPHER_CTX_free 286.Fn EVP_CIPHER_CTX_free
315clears all information from 287clears all information from
@@ -507,28 +479,6 @@ or
507.Fn EVP_CIPHER_CTX_free 479.Fn EVP_CIPHER_CTX_free
508must be called to free any context resources. 480must be called to free any context resources.
509.Pp 481.Pp
510.Fn EVP_Cipher
511encrypts or decrypts aligned blocks of data
512whose lengths match the cipher block size.
513It requires that the previous encryption or decryption operation
514using the same
515.Fa ctx ,
516if there was any, ended exactly on a block boundary and that
517.Fa inl
518is an integer multiple of the cipher block size.
519If either of these conditions is violated,
520.Fn EVP_Cipher
521silently produces incorrect results.
522For that reason, using the function
523.Fn EVP_CipherUpdate
524instead is strongly recommended.
525The latter can safely handle partial blocks, and even if
526.Fa inl
527actually is a multiple of the cipher block size for all calls,
528the overhead incurred by using
529.Fn EVP_CipherUpdate
530is minimal.
531.Pp
532.Fn EVP_get_cipherbyname , 482.Fn EVP_get_cipherbyname ,
533.Fn EVP_get_cipherbynid , 483.Fn EVP_get_cipherbynid ,
534and 484and
@@ -602,7 +552,6 @@ for success or
602for failure. 552for failure.
603.Pp 553.Pp
604.Fn EVP_CIPHER_CTX_reset , 554.Fn EVP_CIPHER_CTX_reset ,
605.Fn EVP_CIPHER_CTX_cleanup ,
606.Fn EVP_CIPHER_CTX_copy , 555.Fn EVP_CIPHER_CTX_copy ,
607.Fn EVP_EncryptInit_ex , 556.Fn EVP_EncryptInit_ex ,
608.Fn EVP_EncryptUpdate , 557.Fn EVP_EncryptUpdate ,
@@ -618,9 +567,8 @@ for failure.
618.Fn EVP_DecryptInit , 567.Fn EVP_DecryptInit ,
619.Fn EVP_DecryptFinal , 568.Fn EVP_DecryptFinal ,
620.Fn EVP_CipherInit , 569.Fn EVP_CipherInit ,
621.Fn EVP_CipherFinal ,
622and 570and
623.Fn EVP_Cipher 571.Fn EVP_CipherFinal
624return 1 for success or 0 for failure. 572return 1 for success or 0 for failure.
625.Pp 573.Pp
626.Fn EVP_CIPHER_CTX_encrypting 574.Fn EVP_CIPHER_CTX_encrypting
@@ -729,7 +677,9 @@ To specify any additional authenticated data (AAD), a call to
729.Fn EVP_EncryptUpdate , 677.Fn EVP_EncryptUpdate ,
730or 678or
731.Fn EVP_DecryptUpdate 679.Fn EVP_DecryptUpdate
732should be made with the output parameter out set to 680should be made with the output parameter
681.Fa out
682set to
733.Dv NULL . 683.Dv NULL .
734.Pp 684.Pp
735When decrypting, the return value of 685When decrypting, the return value of
@@ -775,7 +725,9 @@ by calling
775.Fn EVP_EncryptUpdate , 725.Fn EVP_EncryptUpdate ,
776or 726or
777.Fn EVP_DecryptUpdate 727.Fn EVP_DecryptUpdate
778with the output parameter out set to 728with the output parameter
729.Fa out
730set to
779.Dv NULL . 731.Dv NULL .
780Additionally, the total 732Additionally, the total
781plaintext or ciphertext length MUST be passed to 733plaintext or ciphertext length MUST be passed to
@@ -929,6 +881,7 @@ do_crypt(FILE *in, FILE *out, int do_encrypt)
929.Xr EVP_chacha20 3 , 881.Xr EVP_chacha20 3 ,
930.Xr EVP_CIPHER_CTX_ctrl 3 , 882.Xr EVP_CIPHER_CTX_ctrl 3 ,
931.Xr EVP_CIPHER_CTX_get_cipher_data 3 , 883.Xr EVP_CIPHER_CTX_get_cipher_data 3 ,
884.Xr EVP_CIPHER_CTX_init 3 ,
932.Xr EVP_CIPHER_CTX_set_flags 3 , 885.Xr EVP_CIPHER_CTX_set_flags 3 ,
933.Xr EVP_CIPHER_nid 3 , 886.Xr EVP_CIPHER_nid 3 ,
934.Xr EVP_des_cbc 3 , 887.Xr EVP_des_cbc 3 ,
@@ -959,15 +912,12 @@ first appeared in SSLeay 0.5.1.
959and 912and
960.Fn EVP_rc2_ofb 913.Fn EVP_rc2_ofb
961first appeared in SSLeay 0.5.2. 914first appeared in SSLeay 0.5.2.
962.Fn EVP_Cipher
963first appeared in SSLeay 0.6.5.
964.Fn EVP_bf_cbc , 915.Fn EVP_bf_cbc ,
965.Fn EVP_bf_ecb , 916.Fn EVP_bf_ecb ,
966.Fn EVP_bf_cfb , 917.Fn EVP_bf_cfb ,
967and 918and
968.Fn EVP_bf_ofb 919.Fn EVP_bf_ofb
969first appeared in SSLeay 0.6.6. 920first appeared in SSLeay 0.6.6.
970.Fn EVP_CIPHER_CTX_cleanup ,
971.Fn EVP_get_cipherbyobj , 921.Fn EVP_get_cipherbyobj ,
972.Fn EVP_CIPHER_CTX_cipher , 922.Fn EVP_CIPHER_CTX_cipher ,
973and 923and
@@ -975,8 +925,6 @@ and
975first appeared in SSLeay 0.8.0. 925first appeared in SSLeay 0.8.0.
976.Fn EVP_get_cipherbynid 926.Fn EVP_get_cipherbynid
977first appeared in SSLeay 0.8.1. 927first appeared in SSLeay 0.8.1.
978.Fn EVP_CIPHER_CTX_init
979first appeared in SSLeay 0.9.0.
980All these functions have been available since 928All these functions have been available since
981.Ox 2.4 . 929.Ox 2.4 .
982.Pp 930.Pp
diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile
index 01be881165..a5cd8c53d1 100644
--- a/src/lib/libcrypto/man/Makefile
+++ b/src/lib/libcrypto/man/Makefile
@@ -1,4 +1,4 @@
1# $OpenBSD: Makefile,v 1.277 2023/11/19 10:36:14 tb Exp $ 1# $OpenBSD: Makefile,v 1.278 2023/12/01 10:40:21 schwarze Exp $
2 2
3.include <bsd.own.mk> 3.include <bsd.own.mk>
4 4
@@ -158,6 +158,7 @@ MAN= \
158 EVP_BytesToKey.3 \ 158 EVP_BytesToKey.3 \
159 EVP_CIPHER_CTX_ctrl.3 \ 159 EVP_CIPHER_CTX_ctrl.3 \
160 EVP_CIPHER_CTX_get_cipher_data.3 \ 160 EVP_CIPHER_CTX_get_cipher_data.3 \
161 EVP_CIPHER_CTX_init.3 \
161 EVP_CIPHER_CTX_set_flags.3 \ 162 EVP_CIPHER_CTX_set_flags.3 \
162 EVP_CIPHER_do_all.3 \ 163 EVP_CIPHER_do_all.3 \
163 EVP_CIPHER_meth_new.3 \ 164 EVP_CIPHER_meth_new.3 \
diff --git a/src/lib/libcrypto/man/evp.3 b/src/lib/libcrypto/man/evp.3
index 9ae3012667..9ce7ac83a8 100644
--- a/src/lib/libcrypto/man/evp.3
+++ b/src/lib/libcrypto/man/evp.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: evp.3,v 1.25 2023/11/19 10:25:28 tb Exp $ 1.\" $OpenBSD: evp.3,v 1.26 2023/12/01 10:40:21 schwarze Exp $
2.\" full merge up to: OpenSSL man7/evp 24a535ea Sep 22 13:14:20 2020 +0100 2.\" full merge up to: OpenSSL man7/evp 24a535ea Sep 22 13:14:20 2020 +0100
3.\" 3.\"
4.\" This file was written by Ulf Moeller <ulf@openssl.org>, 4.\" This file was written by Ulf Moeller <ulf@openssl.org>,
@@ -51,7 +51,7 @@
51.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 51.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
52.\" OF THE POSSIBILITY OF SUCH DAMAGE. 52.\" OF THE POSSIBILITY OF SUCH DAMAGE.
53.\" 53.\"
54.Dd $Mdocdate: November 19 2023 $ 54.Dd $Mdocdate: December 1 2023 $
55.Dt EVP 3 55.Dt EVP 3
56.Os 56.Os
57.Sh NAME 57.Sh NAME
@@ -175,6 +175,7 @@ family of functions provides base64 encoding and decoding.
175.Xr EVP_chacha20 3 , 175.Xr EVP_chacha20 3 ,
176.Xr EVP_CIPHER_CTX_ctrl 3 , 176.Xr EVP_CIPHER_CTX_ctrl 3 ,
177.Xr EVP_CIPHER_CTX_get_cipher_data 3 , 177.Xr EVP_CIPHER_CTX_get_cipher_data 3 ,
178.Xr EVP_CIPHER_CTX_init 3 ,
178.Xr EVP_CIPHER_CTX_set_flags 3 , 179.Xr EVP_CIPHER_CTX_set_flags 3 ,
179.Xr EVP_CIPHER_do_all 3 , 180.Xr EVP_CIPHER_do_all 3 ,
180.Xr EVP_CIPHER_meth_new 3 , 181.Xr EVP_CIPHER_meth_new 3 ,