Skip to content

API XMLSec Core Dl

Aleksey Sanin edited this page Jun 22, 2026 · 5 revisions

Dynamic Loading

API Group: xmlsec_core_dl

Dynamic loading of XML Security crypto back-ends.

Dynamic crypto-engine library loading functions.

Functions

xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms

int xmlSecCryptoDLFunctionsRegisterKeyDataAndTransforms(xmlSecCryptoDLFunctionsPtr functions);

Source: include/xmlsec/dl.h

Registers key data and transforms from the crypto back-end.

Registers the key data and transforms provided by the crypto back-end.

Parameters:

  • functions — the functions table.

Returns: 0 on success or a negative value if an error occurs.


xmlSecCryptoDLInit

int xmlSecCryptoDLInit(void);

Source: include/xmlsec/dl.h

Initializes the dynamic library loading engine.

Initializes dynamic loading engine. This is an internal function and should not be called by application directly.

Returns: 0 on success or a negative value if an error occurs.


xmlSecCryptoDLShutdown

int xmlSecCryptoDLShutdown(void);

Source: include/xmlsec/dl.h

Shuts down the dynamic library loading engine.

Shutdowns dynamic loading engine. This is an internal function and should not be called by application directly.

Returns: 0 on success or a negative value if an error occurs.


xmlSecCryptoDLLoadLibrary

int xmlSecCryptoDLLoadLibrary(const xmlChar *crypto);

Source: include/xmlsec/dl.h

Loads a crypto library.

Loads the xmlsec-$crypto library. This function is NOT thread safe, application MUST NOT call xmlSecCryptoDLLoadLibrary, xmlSecCryptoDLGetLibraryFunctions, and xmlSecCryptoDLUnloadLibrary functions from multiple threads.

Parameters:

  • crypto — the desired crypto library name ("openssl", "nss", ...). If NULL then the default crypto engine will be used.

Returns: 0 on success or a negative value if an error occurs.


xmlSecCryptoDLGetLibraryFunctions

xmlSecCryptoDLFunctionsPtr xmlSecCryptoDLGetLibraryFunctions(const xmlChar *crypto);

Source: include/xmlsec/dl.h

Loads a crypto library and returns its function table.

Loads the xmlsec-$crypto library and gets global crypto functions/transforms/keys data/keys store table. This function is NOT thread safe, application MUST NOT call xmlSecCryptoDLLoadLibrary, xmlSecCryptoDLGetLibraryFunctions, and xmlSecCryptoDLUnloadLibrary functions from multiple threads.

Parameters:

  • crypto — the desired crypto library name ("openssl", "nss", ...).

Returns: the table or NULL if an error occurs.


xmlSecCryptoDLUnloadLibrary

int xmlSecCryptoDLUnloadLibrary(const xmlChar *crypto);

Source: include/xmlsec/dl.h

Unloads a crypto library.

Unloads the xmlsec-$crypto library. All pointers to this library functions tables became invalid. This function is NOT thread safe, application MUST NOT call xmlSecCryptoDLLoadLibrary, xmlSecCryptoDLGetLibraryFunctions, and xmlSecCryptoDLUnloadLibrary functions from multiple threads.

Parameters:

  • crypto — the desired crypto library name ("openssl", "nss", ...).

Returns: 0 on success or a negative value if an error occurs.


xmlSecCryptoDLSetFunctions

int xmlSecCryptoDLSetFunctions(xmlSecCryptoDLFunctionsPtr functions);

Source: include/xmlsec/dl.h

Sets global crypto function table.

Sets global crypto functions/transforms/keys data/keys store table.

Parameters:

  • functions — the new table

Returns: 0 on success or a negative value if an error occurs.


xmlSecCryptoDLGetFunctions

xmlSecCryptoDLFunctionsPtr xmlSecCryptoDLGetFunctions(void);

Source: include/xmlsec/dl.h

Gets global crypto function table.

Gets global crypto functions/transforms/keys data/keys store table.

Returns: the table.


Clone this wiki locally