---
name: "libressl-OpenSSL_add_all_algorithms"
section: "3"
platform: "linux"
package: "libressl"
version: "4.4.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libressl-OpenSSL_add_all_algorithms"
---

# libressl-OpenSSL\_add\_all\_algorithms(3)

add algorithms to internal table

## 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

Crypto Library (libcrypto, -lcrypto)

**#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.
