summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3')
-rw-r--r--src/lib/libcrypto/man/OpenSSL_add_all_algorithms.369
1 files changed, 43 insertions, 26 deletions
diff --git a/src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 b/src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3
index 88ecef9768..68d8799bd4 100644
--- a/src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3
+++ b/src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3
@@ -1,7 +1,24 @@
1.\" $OpenBSD: OpenSSL_add_all_algorithms.3,v 1.16 2024/03/04 19:04:47 tb Exp $ 1.\" $OpenBSD: OpenSSL_add_all_algorithms.3,v 1.19 2025/06/12 15:59:30 schwarze Exp $
2.\" full merge up to: OpenSSL b3696a55 Sep 2 09:35:50 2017 -0400 2.\" full merge up to: OpenSSL b3696a55 Sep 2 09:35:50 2017 -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) 2018, 2019, 2023, 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) 2000, 2003, 2013 The OpenSSL Project. All rights reserved. 22.\" Copyright (c) 2000, 2003, 2013 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
@@ -48,7 +65,7 @@
48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 65.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
49.\" OF THE POSSIBILITY OF SUCH DAMAGE. 66.\" OF THE POSSIBILITY OF SUCH DAMAGE.
50.\" 67.\"
51.Dd $Mdocdate: March 4 2024 $ 68.Dd $Mdocdate: June 12 2025 $
52.Dt OPENSSL_ADD_ALL_ALGORITHMS 3 69.Dt OPENSSL_ADD_ALL_ALGORITHMS 3
53.Os 70.Os
54.Sh NAME 71.Sh NAME
@@ -64,6 +81,7 @@
64.\" because they are unused aliases. 81.\" because they are unused aliases.
65.Nd add algorithms to internal table 82.Nd add algorithms to internal table
66.Sh SYNOPSIS 83.Sh SYNOPSIS
84.Lb libcrypto
67.In openssl/evp.h 85.In openssl/evp.h
68.Ft void 86.Ft void
69.Fn OpenSSL_add_all_algorithms void 87.Fn OpenSSL_add_all_algorithms void
@@ -79,40 +97,43 @@
79These functions are deprecated. 97These functions are deprecated.
80It is never useful for any application program 98It is never useful for any application program
81to call any of them explicitly. 99to call any of them explicitly.
82The library automatically calls them internally whenever needed. 100Most of them have no effect except that they may or may not call
101.Xr OPENSSL_init_crypto 3 .
83.Pp 102.Pp
84OpenSSL keeps an internal table of digest algorithms and ciphers. 103The library contains internal tables of digest algorithms and ciphers.
85It uses this table to look up ciphers via functions such as 104It uses these tables to look up digests and ciphers via
86.Xr EVP_get_cipherbyname 3 . 105.Xr EVP_get_digestbyname 3
106and
107.Xr EVP_get_cipherbyname 3 ,
108respectively.
109In LibreSSL, these tables are static constants and do not require
110initialization.
87.Pp 111.Pp
88.Fn OpenSSL_add_all_algorithms 112.Fn OpenSSL_add_all_algorithms
89adds all algorithms to the table (digests and ciphers). 113used to add all digests and ciphers to the tables.
90If an application is compiled with the preprocessor symbol 114If an application is compiled with the preprocessor symbol
91.Dv OPENSSL_LOAD_CONF 115.Dv OPENSSL_LOAD_CONF
92#define'd, it also calls 116defined, it also calls
93.Xr OPENSSL_config 3 117.Xr OPENSSL_config 3
94with a 118with a
95.Dv NULL 119.Dv NULL
96argument, loading the default configuration file. 120argument, loading the default configuration file.
121Relying on this behaviour is not recommended.
122If loading a configuration file is desired, call
123.Xr OPENSSL_config 3
124or
125.Xr CONF_modules_load_file 3
126directly.
97.Pp 127.Pp
98.Fn OpenSSL_add_all_digests 128.Fn OpenSSL_add_all_digests
99adds all digest algorithms to the table. 129used to add all digest algorithms to the table.
100.Pp 130.Pp
101.Fn OpenSSL_add_all_ciphers 131.Fn OpenSSL_add_all_ciphers
102adds all encryption algorithms to the table including password based 132used to add all encryption algorithms to the table.
103encryption algorithms.
104.Pp
105If any of the above functions is called more than once,
106only the first call has an effect.
107.Pp 133.Pp
108.Fn EVP_cleanup 134.Fn EVP_cleanup
109removes all ciphers and digests from the table and also calls 135has no effect; it used to remove various kinds of application-supplied
110.Xr OBJ_NAME_cleanup 3 136data that is no longer supported in the first place.
111with an argument of \-1 ,
112thus resetting the global associative array of names
113and all signature algorithm definitions to their default states,
114removing all application-defined types, key-value pairs, and aliases,
115including any that are unrelated to the EVP library.
116.Pp 137.Pp
117.Fn SSLeay_add_all_algorithms 138.Fn SSLeay_add_all_algorithms
118is a deprecated alias for 139is a deprecated alias for
@@ -126,8 +147,6 @@ are implemented as macros.
126.Xr evp 3 , 147.Xr evp 3 ,
127.Xr EVP_DigestInit 3 , 148.Xr EVP_DigestInit 3 ,
128.Xr EVP_EncryptInit 3 , 149.Xr EVP_EncryptInit 3 ,
129.Xr OBJ_cleanup 3 ,
130.Xr OBJ_NAME_add 3 ,
131.Xr OPENSSL_config 3 150.Xr OPENSSL_config 3
132.Sh HISTORY 151.Sh HISTORY
133.Fn EVP_cleanup , 152.Fn EVP_cleanup ,
@@ -148,5 +167,3 @@ first appeared in OpenSSL 0.9.5 and have been available since
148.Sh BUGS 167.Sh BUGS
149Although the functions do not return error codes, it is possible for them 168Although the functions do not return error codes, it is possible for them
150to fail. 169to fail.
151This will only happen as a result of a memory allocation failure so this
152is not too much of a problem in practice.