Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

curl build don't recognize openssl engine #2641

helenebb opened this issue Jun 7, 2018 · 3 comments


Copy link

commented Jun 7, 2018

I build curl to use it with OpenSSL with command :
nmake /f mode=dll WITH_SSL=dll SSL_PATH=C:\OpenSSL-Win32

OpenSSL is : OpenSSL 1.0.2o 27 Mar 2018
I have add my engine on openssl configuration file (OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg




When I list engine with OpenSSL, my engine is OK :

>openssl engine -t
(rdrand) Intel RDRAND engine
     [ available ]
(dynamic) Dynamic engine loading support
     [ unavailable ]
(pkcs11) pkcs11 engine
     [ available ]

But if I list engine with my build curl, I have nothing :

>curl.exe --engine list
Build-time engines:

If I use installed curl (with SSL support), I have no problem.

Is it my build curl not correct ?


This comment has been minimized.

Copy link

commented Jun 8, 2018

I'm pretty sure that's because your build doesn't have HAVE_OPENSSL_ENGINE_H defined. See the code that lists the available engines:


Lines 1167 to 1185 in 9ff67f7

static struct curl_slist *Curl_ossl_engines_list(struct Curl_easy *data)
struct curl_slist *list = NULL;
#if defined(USE_OPENSSL) && defined(HAVE_OPENSSL_ENGINE_H)
struct curl_slist *beg;
for(e = ENGINE_get_first(); e; e = ENGINE_get_next(e)) {
beg = curl_slist_append(list, ENGINE_get_id(e));
if(!beg) {
return NULL;
list = beg;
(void) data;
return list;


This comment has been minimized.

Copy link

commented Jun 8, 2018

Indeed, it was the problem. Thank you for your help


This comment has been minimized.

Copy link

commented Jun 8, 2018

I'm not exactly sure what fix I propose for this, but I think the engine support is there by default since some openssl version and would probably be a better check.

bagder added a commit that referenced this issue Jun 8, 2018
openssl: assume engine support in 1.0.1 or later
Previously it was checked for in configure/cmake, but that would then
leave other build systems built without engine support.

While engine support probably existed prior to 1.0.1, I decided to play
safe. If someone experience a problem with this, we can widen the
version check.

Fixes #2641

@bagder bagder closed this in 38203f1 Jun 11, 2018

@lock lock bot locked as resolved and limited conversation to collaborators Sep 9, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
None yet
2 participants
You can’t perform that action at this time.