问题描述:

I am just beginning to develop a simple openssl engine. In this process, I referred to this nice website http://sinodun.com/2009/02/developing-an-engine-for-openssl/

I downloaded openssl 1.0.0c and compiled in my own folder as follows:

./config --prefix=/home/workingDir/openssl --openssldir=/home/workingDir/openssl

make

make install

Then I proceeded to copy this simple_engine.c file and compiled it to simple_engine.o and then built shared library simple_engine.so.

These are found in 'workingDir'

After these steps, I changed the 2 openssl.cnf files available under openssl/apps and openssl1.0.0c/ main folders such that:

openssl_conf = openssl_def

[openssl_def]

engines = engines_section

[engines_section]

simple = simple_section

[simple_section]

engine_id = simple

dynamic_path = /home/workingDir/simple_engine.so

MODULE_PATH = /home/workingDir/simple_engine.so

init = 0

[req]

distinguished_name = req_distinguished_name

[req_distinguished_name]

After this I set the LD_LIBRARY_PATH to point to /home/workingDir

Then when I did:

./openssl engine

I get the following error:

Error configuring OpenSSL

3076019848:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(/home/workingDir/simple_engine.so): /home/workingDir/simple_engine.so: undefined symbol: ENGINE_get_static_state

3076019848:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:

3076019848:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450:

3076019848:error:260BC066:engine routines:INT_ENGINE_CONFIGURE:engine configuration error:eng_cnf.c:204:section=simple_section, name=dynamic_path, value=/home/workingDir/simple_engine.so

3076019848:error:0E07606D:configuration file routines:MODULE_RUN:module initialization error:conf_mod.c:235:module=engines, value=engines_section, retcode=-1

What is the problem? Please help. I am unable to proceed and don't find any documentation.

Thanks

网友答案:

The problem was the MODULE_PATH in the openssl.cnf. When I removed it , it works after recompiling the openssl with shared libs!

相关阅读:
Top