Hello All,

I am working on developing an Engine in OpenSSL to access cipher hardware we are developing. I am not having any "good" luck trying to get the test code, in particular evp_test.c, to call into my engine code for testing. I believe I need to use the config file for OpenSSL Here is what I have been able to do so far:

I am able to access the engine using a command line encode request for example:

   ./apps/openssl enc -aes-256-ecb ... -engine myEngine ...

With this command the bind_myEngine() sequence is called and myEngine_ciphers() is called to pass back the proper _init()/_code()/_clean() set for the requested NID.

But to test the engine code via the "make test", or "cd test; make test_evp" there is not the ability to pass in a command line "-engine myEngine" parameter.

I have, I think, properly setup the environment variable OPENSSL_CONF to point to the openssl.cnf file in ./apps folder.

   echo $OPENSSL_CONF
   /home/johng/openSSL/openssl-0.9.8a/apps/openssl.cnf

 I have added the following lines for my engine:

   # Extra OBJECT IDENTIFIER info:
   #oid_file        = $ENV::HOME/.oid
   oid_section        = new_oids
   engines            = engine_section

   (At the bottom of the openssl.cnf file:)

   [engine_section]

   myEngine            = myEngine_section

   [myEngine_section]
   #see if I can get any failure/error message
   snaf_ctrl        = EMPTY
   # Supply all default algorithms
   default_algorithms = ALL

At this point, when I run the make test_evp command, the bind_myEngine() sequence is called and myEngine_ciphers() is also called, with cipher and nid == 0 to get the list of NIDs supported by the engine. However when the ciphers are tested, using evptests.txt, my engine's _init()/_code()/_clean() are not called and I get the following Debug message from tb_cipher.c:

   engine_table_dbg: tb_cipher.c:116, nid=426, caching 'no matching ENGINE'

Can anyone offer me some advice on what other "things" I need to do in order to get the calls into myEngine? Or what other places I need to look/try to figure out why tb_cipher reports "no matching ENGINE" instead of passing back the matching ENGINE pointer?

Thank you very much for any help you can send my way.
John Gallant

Misc OpenSSL information:
Revision: openssl-0.9.8a pulled down late May.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to