OSSL_PROVIDER-LEGACY(7ossl)
π OSSL_PROVIDER-LEGACY(7ossl) β the OpenSSL legacy provider, explained
okay so bestie, this is the 7ossl manual page for OSSL_PROVIDER-legacy, and honestly? it's giving retirement home for ciphers. let's get into it π«Ά
β¨ NAME β¨
OSSL_PROVIDER-legacy β the OpenSSL legacy provider, aka where the old-school algorithms go to live out their golden years.
π¦ DESCRIPTION π¦
so the OpenSSL legacy provider supplies OpenSSL implementations of algorithms that have been deemed legacy. and like, what does "legacy" mean here? basically one of three vibes:
- they've commonly fallen out of use,
- the cryptography community has deemed them insecure,
- or "something similar" (their words, not mine π).
we can consider this the retirement home of cryptographic algorithms. no cap. they're comfy, they're chilling, they're not getting invited to the new projects. but they still live here and we love them π
πΈ Properties πΈ
the implementations in this provider specifically have this property defined:
"provider=legacy"
you may use it in a property query string with fetching functions such as EVP_MD_fetch(3) or EVP_CIPHER_fetch(3), as well as with other functions that take a property query string, such as EVP_PKEY_CTX_new_from_name(3). iykyk π₯
and no, it isn't mandatory to query for any of these properties β except to make sure you get implementations of this provider and none other. so like, if you want to be certain bestie, say the property out loud. periodt.
π OPERATIONS AND ALGORITHMS π
the OpenSSL legacy provider supports these operations and algorithms:
π Hashing Algorithms / Message Digests π
MD2, seeEVP_MD-MD2(7)- Disabled by default. Use
enable-md2config option to enable. (sorry bestie, you gotta opt in π)
- Disabled by default. Use
MD4, seeEVP_MD-MD4(7)MDC2, seeEVP_MD-MDC2(7)WHIRLPOOL, seeEVP_MD-WHIRLPOOL(7)RIPEMD160, seeEVP_MD-RIPEMD160(7)
π Symmetric Ciphers π
heads up: not all of these symmetric cipher algorithms are enabled by default. β οΈ
- Blowfish, see
EVP_CIPHER-BLOWFISH(7) - CAST, see
EVP_CIPHER-CAST(7) - DES, see
EVP_CIPHER-DES(7)- The algorithm names are:
DES_ECB,DES_CBC,DES_OFB,DES_CFB,DES_CFB1,DES_CFB8andDESX_CBC.
- The algorithm names are:
- IDEA, see
EVP_CIPHER-IDEA(7) - RC2, see
EVP_CIPHER-RC2(7) - RC4, see
EVP_CIPHER-RC4(7) - RC5, see
EVP_CIPHER-RC5(7)- Disabled by default. Use
enable-rc5config option to enable. (again, opt in or it's not happening π«Ά)
- Disabled by default. Use
SEED, seeEVP_CIPHER-SEED(7)
π§ Key Derivation Function (KDF) π§
PBKDF1PVKKDF
β SEE ALSO β
go read these next, bestie, they're iconic:
OSSL_PARAM(3), openssl-core.h(7), openssl-core_dispatch.h(7), provider(7)
π HISTORY π
this functionality was added in OpenSSL 3.0. so it's a 3.0 baby π
πΈ COPYRIGHT πΈ
Copyright 2020-2021 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
π real talk though: these algorithms are here because they're legacy β commonly unused, deemed insecure by the crypto community, or "something similar". don't go picking MD2 for your new project and calling it a slay. use them knowingly, okay? π«Ά
and that's the page!! this was version 3.5.6, dated 2026-04-07, filed under OSSL_PROVIDER-LEGACY(7ossl) β mwah, go touch some modern crypto π
β¨π
π¦ where this page comes from
- freebsd 15.1: base 15.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms