OPENSSL_LOAD_BUILTIN_MODULES(3ossl)

πŸ“¦
version 15.1 Β· 3 versions
, in freebsd 15.1

πŸ’… OPENSSL_LOAD_BUILTIN_MODULES β€” the 3ossl manual, bestie edition ✨

okay so this page lives in the OpenSSL manual (3ossl section) and it's literally about adding the standard configuration modules. three whole functions, no cap. let's get into it 🫢


✨ NAME ✨

OPENSSL_load_builtin_modules, ASN1_add_oid_module, ENGINE_add_conf_module β€” these three add the standard configuration modules. that's the whole assignment πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

#include <openssl/conf.h>

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

three functions, all void, all taking nothing. iconique. no arguments, no drama πŸ’…


🌸 DESCRIPTION 🌸

okay so OPENSSL_load_builtin_modules() is the main character here β€” it adds all the standard OpenSSL configuration modules to the internal list. after that, the OpenSSL configuration code can actually use them. it's giving "loading the whole squad into the group chat" πŸ”₯

then you've got the two selective girlies:

  • ASN1_add_oid_module() adds just the ASN1 OBJECT module.
  • ENGINE_add_conf_module() adds just the ENGINE configuration module.

lowkey handy if you want one specific thing, but see the notes below before you get any ideas πŸ‘€


πŸ¦‹ NOTES πŸ¦‹

read this part, bestie, it's important 🫢

  • if the simple configuration function OPENSSL_config() gets called, then OPENSSL_load_builtin_modules() is called automatically. so like, you don't have to do anything. it's already handled πŸ’…
  • applications that use the configuration functions directly will need to call OPENSSL_load_builtin_modules() themselves, and they gotta do it before any other configuration code. order matters, periodt ✨
  • applications should call OPENSSL_load_builtin_modules() to load all the configuration modules instead of adding modules selectively β€” otherwise functionality may be missing from the application if an when new modules are added. (yes, that "if an when" is exactly how the original says it, i'm not fixing it, it's iconic 😭)
ngl, that last one is the whole vibe check: pick the "all" button, not the a-la-carte menu. future-you will thank you 🧚

⭐ RETURN VALUES ⭐

none of the functions return a value. not a single one. they all return void, so don't go looking for a return code that isn't there πŸ™ˆ


🌈 SEE ALSO 🌈

go read those if you want the full lore πŸ‘‘


πŸ’œ HISTORY πŸ’œ

ENGINE_add_conf_module() was deprecated in OpenSSL 3.0. so like, it's still here but it's giving "nostalgia era" πŸ’€ use accordingly.


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 page!! mwah πŸ’‹ this was OpenSSL 3.5.6, dated 2026-04-0, and honestly? she ate. πŸ“βœ¨

πŸ“¦ where this page comes from