OPENSSL_ADD_ALL_ALGORITHMS(3) | Library Functions Manual | OPENSSL_ADD_ALL_ALGORITHMS(3)

# NAME

`OpenSSL_add_all_algorithms`, `OpenSSL_add_all_ciphers`, `OpenSSL_add_all_digests`, `EVP_cleanup`, `SSLeay_add_all_algorithms` — add algorithms to internal table

# SYNOPSIS

library “libcrypto”
`#include <openssl/evp.h>`

void
`OpenSSL_add_all_algorithms`(void);

void
`OpenSSL_add_all_ciphers`(void);

void
`OpenSSL_add_all_digests`(void);

void
`EVP_cleanup`(void);

void
`SSLeay_add_all_algorithms`(void);

# DESCRIPTION

These functions are deprecated. It is never useful for any application program to call any of them explicitly. Most of them have no effect except that they may or may not call OPENSSL_init_crypto(3).

The library contains internal tables of digest algorithms and ciphers. It uses these tables to look up digests and ciphers via EVP_get_digestbyname(3) and EVP_get_cipherbyname(3), respectively. In LibreSSL, these tables are static constants and do not require initialization.

`OpenSSL_add_all_algorithms`() used to add all digests and ciphers to the tables. If an application is compiled with the preprocessor symbol `OPENSSL_LOAD_CONF` defined, it also calls OPENSSL_config(3) with a `NULL` argument, loading the default configuration file. Relying on this behaviour is not recommended. If loading a configuration file is desired, call OPENSSL_config(3) or CONF_modules_load_file(3) directly.

`OpenSSL_add_all_digests`() used to add all digest algorithms to the table.

`OpenSSL_add_all_ciphers`() used to add all encryption algorithms to the table.

`EVP_cleanup`() has no effect; it used to remove various kinds of application-supplied data that is no longer supported in the first place.

`SSLeay_add_all_algorithms`() is a deprecated alias for `OpenSSL_add_all_algorithms`().

`OpenSSL_add_all_algorithms`() and `SSLeay_add_all_algorithms`() are implemented as macros.

# SEE ALSO

evp(3), EVP_DigestInit(3), EVP_EncryptInit(3), OPENSSL_config(3)

# HISTORY

`EVP_cleanup`(), `SSLeay_add_all_algorithms`(), and precursor functions `SSLeay_add_all_ciphers`() and `SSLeay_add_all_digests`() first appeared in SSLeay 0.8.0 and have been available since OpenBSD 2.4.

`OpenSSL_add_all_algorithms`(), `OpenSSL_add_all_ciphers`(), and `OpenSSL_add_all_digests`() first appeared in OpenSSL 0.9.5 and have been available since OpenBSD 2.7.

# BUGS

Although the functions do not return error codes, it is possible for them to fail.

June 12, 2025 | Debian