alternative to deprecated ENGINE_* API for external engines for openssl-3.0.0

Matt Caswell matt at
Thu Jul 30 15:39:04 UTC 2020

On 30/07/2020 16:06, Emeric Brun wrote:
> Trying to compile my soft using openssl-3.0.0alpha5, I notice a lot of warnings about deprecated ENGINE_* functions (since commit 8dab4de53887639abc1152288fac76506beb87b3).
> Is-there any documentation on a	new API/functions to handle external crypto engines?

As noted in the CHANGES file the preferred alternative is to use the new
"provider" APIs. Providers are fundamental to OpenSSL 3.0. You can read
about how they're used and configured in 3.0 on this wiki page:

There's some more detailed documentation about providers here:

If you're interested in writing providers then there's an example one on
this man page:

OpenSSL 3.0 comes with a number of built-in or out-of-the-box providers
which are documented here:

There's also a number of other pages for provider authors about the
various hooks available for different types of algorithm, e.g. see:

This gives details about the hooks for symmetric ciphers. There are
other similar pages for different algorithm types linked from here:

Hope that helps,


More information about the openssl-users mailing list