Hello,


I am implementing an engine for our company's hardware. I completed the engine 
body part by referencing other engine implementation. But I have a problem 
about the shared library which will be loaded by DSO_load function and bond to 
with some functions. I assume that the shared library should contain:

            1: The engine itself built for the dynamic load;

            2: The lower level interface functions which interface with the 
device drivers;



When I built the shared library, there is no problem to use the following 
command:

"openssl engine -vvvv dynamic -pre SO_PATH:/xxxxx/librenesas.so  -pre LOAD"



But if I run an aes-128-cbc encryption command by using the engine, the 
following error message comes out.



OpenSSL> aes-128-cbc -in ifile -out ofile -e -K 
12345678901234567890123456789012 -iv 00 -engine renesas

openssl (lock_dbg_cb): already locked (mode=9, type=30) at e_renesas.c:276

openssl (lock_dbg_cb): not locked (mode=10, type=30) at eng_table.c:173

can't use that engine

1174:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared 
library:dso_dlfcn.c:162:filename(librenesas.sy

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

1174:error:80067069:RainerAPI:RENESAS_ENGINE_INIT:reason(105):e_renesas.c:249:

1174:error:260B806D:engine routines:ENGINE_TABLE_REGISTER:init 
failed:eng_table.c:161:



It looks that I have two problems:

            1: DSO_bind_func couldn't be successful;

            2: The engine is locked already when I tried to use CRYPOT_w_lock 
function



Does anyone have any suggestion and advice?



Thanks a lot in advance,



Weidong

Reply via email to