How to load dynamicly Crypto Api (capi.dll) in openSSL 1.0.0 Win32 via Indy?
I use Indy 10 and I want my http client to use Windows store certificate.
I use openssl libraries 1.0.0d which should allow me to load capi.dll, but load always fails.


    procedure TIdSSLContext.InitContext(CtxMode: TIdSSLCtxMode);
    var FEngine : PENgine; 
    ...
    FEngine := f_ENGINE_by_id('dynamic');
    status := f_ENGINE_ctrl_cmd_string(FEngine, 'SO_PATH', 'capi', 0);
    if status>0 then //never!
     begin
      status := f_ENGINE_ctrl_cmd_string(FEngine, 'LOAD', nil, 0);
      if status>0 then
       begin
        fContext.client_cert_engine := FEngine;
        status := f_ENGINE_set_default(FEngine, ENGINE_METHOD_ALL);
       end;
      end;
    ...

any ideas?

thanks


How to load dynamicly Crypto Api (capi.dll) in openSSL 1.0.0 Win32 via Indy?
===

I use Indy 10 and I want my http client to use Windows store certificate.
I use openssl libraries 1.0.0d which should allow me to load capi.dll, but load always fails.


    procedure TIdSSLContext.InitContext(CtxMode: TIdSSLCtxMode);
    var FEngine : PENgine; 
    ...
    FEngine := f_ENGINE_by_id('dynamic');
    status := f_ENGINE_ctrl_cmd_string(FEngine, 'SO_PATH', 'capi', 0);
    if status>0 then //never!
     begin
      status := f_ENGINE_ctrl_cmd_string(FEngine, 'LOAD', nil, 0);
      if status>0 then
       begin
        fContext.client_cert_engine := FEngine;
        status := f_ENGINE_set_default(FEngine, ENGINE_METHOD_ALL);
       end;
      end;
    ...

any ideas?

thanks

