OPENSSL_LOAD_BUILTIN_MODULES(3ossl)

πŸ“¦
version 3.5.9 Β· 3 versions
, in alpine 3.23, alpine 3.24

πŸ’… OPENSSL_LOAD_BUILTIN_MODULES

okay so bestie, welcome to the 3ossl girlies' corner of the OpenSSL docs πŸŽ€ this one's about the little functions that quietly stock the shelves of OpenSSL's config system, and honestly it's giving "backstage crew of the whole operation" energy ✨


✨ NAME ✨

OPENSSL_load_builtin_modules, ASN1_add_oid_module, ENGINE_add_conf_module β€” the trio that adds the standard configuration modules 🌸


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <openssl/conf.h>

void OPENSSL_load_builtin_modules(void);
void ASN1_add_oid_module(void);
void ENGINE_add_conf_module(void);

no args, no return, just vibes πŸ’œ


πŸ‘‘ DESCRIPTION πŸ‘‘

so OPENSSL_load_builtin_modules() is the main character here πŸ‘‘ it adds all the standard OpenSSL configuration modules to the internal list. once they're on the list, the OpenSSL configuration code can actually use them. periodt.

ASN1_add_oid_module() is way more chill β€” it adds just the ASN1 OBJECT module. that's it. one module. very demure, very mindful πŸ™ˆ

ENGINE_add_conf_module() also keeps it selective β€” it adds just the ENGINE configuration module. a little icon, honestly ✨


πŸ’€ NOTES πŸ’€

  • if the simple configuration function OPENSSL_config() gets called, then OPENSSL_load_builtin_modules() gets called automatically β€” no cap, it handles that for you 🫢
  • apps that use the configuration functions directly gotta call OPENSSL_load_builtin_modules() themselves, before any other configuration code. don't skip this step bestie, i'm begging 😭
  • and here's the big one: applications should call OPENSSL_load_builtin_modules() to load all the configuration modules instead of cherry-picking modules selectively. why? because otherwise functionality may be missing from the application if an when new modules are added πŸ’€ like, you don't want your app to be the one that's missing out when new stuff drops. fr fr. (and yes, the typo "if an when" is straight from the source, i don't make the rules πŸŽ€)

πŸ’… RETURN VALUES πŸ’…

none of the functions return a value. all three are void. they simply do their thing and leave. iconic behaviour, tbh 🌈


🌸 SEE ALSO 🌸


πŸ“ HISTORY πŸ“

ENGINE_add_conf_module() was deprecated in OpenSSL 3.0. ⚠️ so if you're out here using it in fresh code, that's a vibe check you probably failed β€” keep it for legacy stuff only 🫢


Copyright 2004-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>.


and that's the whole page, bestie! 🧚 this lil' slice of the docs is from OpenSSL 3.5.9, dated 2026-09-2 β€” so go forth, load those builtin modules, and slay πŸ’…βœ¨πŸ’œ

πŸ“¦ where this page comes from