Hi there,

On March 22, 2004 11:02 am, Nelson Gamazo S�nchez wrote:
> I'm trying to code my own engine but I have some questions after
> reading the .pod, samples (demos and built-in) and openssl code. If any
> of these questions have already answered please send reference.
>
> 1-    Could anybody comment more the process for witch the final dll is
> loaded with the dynamic engine? Especially the discovery of the bind
> functions in the custom engine. Comment more the
> dinamic_load(eng_dyn.c) function.
>
> 2-    The table used by openssl_add_all_algorihtms is the same used for
> ENGINE_set_default... functions? 3-   Can I use my own engine(in other
> dll) load it in my application and register it in the openssl Engine
> list (no using dynamic engine)?

I was waiting to reply with something more considered, but I'm too short 
of time to consider much. I'd suggest you get a snapshot from CVS to look 
at this, because any time you spend learning off 0.9.6- or 0.9.7-based 
code may be in vain - the underlying code has changed a bit since then. 
Also, do a search in the CHANGES file for "GMP" and fish around in the 
code for the same thing, this example gives you an engine you can play 
with entirely in software to understand how this stuff works (testing 
engine code on a platform that none of the engine implementations will 
initialise on can of course be quite difficult). There was also an engine 
readme lying around somewhere, but I can't guarantee that this is 
up-to-date with the code (another thing I hope to addess before 0.9.8 
appears).

But in short, the code in CVS allows all the "builtin" engines to be built 
and installed as external shared libraries anyway, so these would be no 
different to other engines you build and install independantly. Use of 
ENGINE_by_id() will automatically try to load and bind an engine from a 
shared-library (in the appropriate installation directory and with the 
appropriate filename) if it is not already in the internal list of 
engines. Note also that Stephen Henson's new configuration modules code 
allows a lot more of this to be controlled and driven from configuration 
files, potentially allowing you to do any number of engine-related setup 
steps from a config file without needing to alter openssl or the 
application (unless the application doesn't yet support this).

Hope that helps - take a little time to surf the code is my advice, you'll 
probably start to get a feel for how it's all hooked up. You might also 
search the mail archives for previous dicussions of some of these issues 
when they were evolving.

Cheers,
Geoff

-- 
Geoff Thorpe
[EMAIL PROTECTED]
http://www.geoffthorpe.net/

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to