From 61150c63123fd35d04d23a0f8879a03f82044004 Mon Sep 17 00:00:00 2001 From: schwarze <> Date: Thu, 3 Nov 2016 12:21:50 +0000 Subject: convert configuration manuals from pod to mdoc --- src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 (limited to 'src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3') diff --git a/src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 b/src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 new file mode 100644 index 0000000000..b6e93a939e --- /dev/null +++ b/src/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 @@ -0,0 +1,71 @@ +.Dd $Mdocdate: November 3 2016 $ +.Dt OPENSSL_ADD_ALL_ALGORITHMS 3 +.Os +.Sh NAME +.Nm OpenSSL_add_all_algorithms , +.Nm OpenSSL_add_all_ciphers , +.Nm OpenSSL_add_all_digests , +.Nm EVP_cleanup +.Nd add algorithms to internal table +.Sh SYNOPSIS +.In openssl/evp.h +.Ft void +.Fn OpenSSL_add_all_algorithms void +.Ft void +.Fn OpenSSL_add_all_ciphers void +.Ft void +.Fn OpenSSL_add_all_digests void +.Ft void +.Fn EVP_cleanup void +.Sh DESCRIPTION +OpenSSL keeps an internal table of digest algorithms and ciphers. +It uses this table to lookup ciphers via functions such as +.Xr EVP_get_cipherbyname 3 . +.Pp +.Fn OpenSSL_add_all_algorithms +adds all algorithms to the table (digests and ciphers). +.Pp +.Fn OpenSSL_add_all_digests +adds all digest algorithms to the table. +.Pp +.Fn OpenSSL_add_all_ciphers +adds all encryption algorithms to the table including password based +encryption algorithms. +.Pp +.Fn EVP_cleanup +removes all ciphers and digests from the table. +.Pp +A typical application will call +.Fn OpenSSL_add_all_algorithms +initially and +.Fn EVP_cleanup +before exiting. +.Pp +An application does not need to add algorithms to use them explicitly, +for example by +.Xr EVP_sha1 3 . +It just needs to add them if it (or any of the functions it calls) needs +to lookup algorithms. +.Pp +The cipher and digest lookup functions are used in many parts of the +library. +If the table is not initialized, several functions will misbehave and +complain they cannot find algorithms. +This includes the PEM, PKCS#12, SSL and S/MIME libraries. +This is a common query in the OpenSSL mailing lists. +.Pp +Calling +.Fn OpenSSL_add_all_algorithms +links in all algorithms: as a result a statically linked executable can +be quite large. +If this is important, it is possible to just add the required ciphers and +digests. +.Sh SEE ALSO +.Xr evp 3 , +.Xr EVP_DigestInit 3 , +.Xr EVP_EncryptInit 3 +.Sh BUGS +Although the functions do not return error codes, it is possible for them +to fail. +This will only happen as a result of a memory allocation failure so this +is not too much of a problem in practice. -- cgit v1.2.3-55-g6feb