OPENSSL_ADD_ALL_ALGORITHMS(3ossl)
β¨ OPENSSL_ADD_ALL_ALGORITHMS β¨
okay bestie, so this one's from the 3ossl manual fam β literally the OpenSSL docs, and today we're talking about a whole little squad of functions: OpenSSL_add_all_algorithms, OpenSSL_add_all_ciphers, OpenSSL_add_all_digests, and EVP_cleanup. Their whole thing? adding algorithms to an internal table. iykyk π
πΈ NAME πΈ
OpenSSL_add_all_algorithms, OpenSSL_add_all_ciphers, OpenSSL_add_all_digests, EVP_cleanup β adding algorithms to the internal table, that's the whole vibe π
π¦ SYNOPSIS π¦
#include <openssl/evp.h>
okay so heads up before literally anything else: these functions have been deprecated since OpenSSL 1.1.0, and you can hide them completely by defining OPENSSL_API_COMPAT with a suitable version value. peep openssl_user_macros(7) for the tea β
void OpenSSL_add_all_algorithms(void);
void OpenSSL_add_all_ciphers(void);
void OpenSSL_add_all_digests(void);
void EVP_cleanup(void);
no args, no returns, just vibes β¨
π DESCRIPTION π
so like, OpenSSL keeps an internal table of digest algorithms and ciphers β think of it as the group chat where all the algorithms hang out. It uses this table to look up ciphers via functions such as EVP_get_cipher_byname(). slay π
OpenSSL_add_all_digests()β adds all the digest algorithms to the table. all of them. no cap. πΈOpenSSL_add_all_algorithms()β adds all algorithms to the table (digests and ciphers). the whole friend group, together. πOpenSSL_add_all_ciphers()β adds all encryption algorithms to the table, including password based encryption algorithms. iconic behavior fr fr π₯
and now for the plot twist π β in versions prior to 1.1.0, EVP_cleanup() removed all ciphers and digests from the table. in OpenSSL 1.1.0 it no longer has any effect. it's giving ghost at the party, lowkey doing nothing. π
β RETURN VALUES β
none of these functions return a value. not a single one. zero, zilch, nada. π«Ά
π SEE ALSO π
go read those next bestie, they're the supporting cast π
π HISTORY π
so the lore is: OpenSSL_add_all_algorithms(), OpenSSL_add_all_ciphers(), OpenSSL_add_all_digests(), and EVP_cleanup() were deprecated in OpenSSL 1.1.0 by OPENSSL_init_crypto(), and β real talk β should not be used. that's the rule, periodt. π«
π COPYRIGHT π
Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.
okay that's the whole page, bestie π«Ά shoutout to version 3.5.9 dated 2026-09-29, and remember: don't use the deprecated ones, use OPENSSL_init_crypto() instead. mwah πβ¨
π¦ where this page comes from
- fedora 43: openssl-devel 1:3.5.9-1.fc43 Β· Apache-2.0
- fedora 43: openssl-devel 1:3.5.9-1.fc43 Β· Apache-2.0
- fedora 44: openssl-devel 1:3.5.9-1.fc44 Β· Apache-2.0
- fedora 44: openssl-devel 1:3.5.9-1.fc44 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms