Ok, so I realized if I run Configure with no-static-engine I'll get the
separate dlls. These are the commands I run

C:\Documents and Settings\tfili\Desktop\openssl-0.9.8k>perl Configure
VC-WIN32 --prefix=c:\temp\openssl no-static-engine

ms\do_ms.bat

nmake -f ms\ntdll.mak

Unfortunately I now get the following errors:


        link /debug /nologo /subsystem:console /opt:ref /debug /dll
/out:out32dl
l.dbg\4758cca.dll  @C:\DOCUME~1\tfili\LOCALS~1\Temp\nm2E34.tmp
   Creating library out32dll.dbg\4758cca.lib and object
out32dll.dbg\4758cca.exp

e_4758cca.obj : error LNK2019: unresolved external symbol
_RSA_get_ex_data referenced in function _cca_rsa_pub_enc
e_4758cca.obj : error LNK2019: unresolved external symbol _RSA_size
referenced in function _cca_rsa_pub_enc
e_4758cca.obj : error LNK2019: unresolved external symbol _CRYPTO_free
referenced in function _cca_rsa_verify
e_4758cca.obj : error LNK2019: unresolved external symbol
_OPENSSL_cleanse referenced in function _cca_rsa_verify
e_4758cca.obj : error LNK2019: unresolved external symbol _CRYPTO_malloc
referenced in function _cca_rsa_verify
e_4758cca.obj : error LNK2019: unresolved external symbol _i2d_X509_SIG
referenced in function _cca_rsa_verify
e_4758cca.obj : error LNK2019: unresolved external symbol _OBJ_nid2obj
referenced in function _cca_rsa_verify
e_4758cca.obj : error LNK2019: unresolved external symbol _ERR_put_error
referenced in function _ERR_CCA4758_error
e_4758cca.obj : error LNK2019: unresolved external symbol
_ERR_get_next_error_library referenced in function _ERR_CCA4758_error
e_4758cca.obj : error LNK2019: unresolved external symbol
_ERR_set_implementation referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_CRYPTO_set_ex_data_implementation referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_CRYPTO_set_dynlock_destroy_callback referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_CRYPTO_set_dynlock_lock_callback referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_CRYPTO_set_dynlock_create_callback referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_CRYPTO_set_add_lock_callback referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_CRYPTO_set_locking_callback referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_CRYPTO_set_mem_functions referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_get_static_state referenced in function _bind_engine
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_cmd_defns referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_load_pubkey_function referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_load_privkey_function referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_ctrl_function referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_finish_function referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_init_function referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_destroy_function referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_RAND referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_RSA referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ENGINE_set_name referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol _ENGINE_set_id
referenced in function _bind_helper
e_4758cca.obj : error LNK2019: unresolved external symbol
_ERR_load_strings referenced in function _ERR_load_CCA4758_strings
e_4758cca.obj : error LNK2019: unresolved external symbol
_ERR_unload_strings referenced in function _ERR_unload_CCA4758_strings
e_4758cca.obj : error LNK2019: unresolved external symbol _DSO_free
referenced in function _ibm_4758_cca_init
e_4758cca.obj : error LNK2019: unresolved external symbol
_RSA_get_ex_new_index referenced in function _ibm_4758_cca_init
e_4758cca.obj : error LNK2019: unresolved external symbol _DSO_bind_func
referenced in function _ibm_4758_cca_init
e_4758cca.obj : error LNK2019: unresolved external symbol _DSO_load
referenced in function _ibm_4758_cca_init
e_4758cca.obj : error LNK2019: unresolved external symbol _BUF_strdup
referenced in function _set_CCA4758_LIB_NAME
e_4758cca.obj : error LNK2019: unresolved external symbol _RSA_free
referenced in function _ibm_4758_load_privkey
e_4758cca.obj : error LNK2019: unresolved external symbol _EVP_PKEY_free
referenced in function _ibm_4758_load_privkey
e_4758cca.obj : error LNK2019: unresolved external symbol
_EVP_PKEY_assign referenced in function _ibm_4758_load_privkey
e_4758cca.obj : error LNK2019: unresolved external symbol _EVP_PKEY_new
referenced in function _ibm_4758_load_privkey
e_4758cca.obj : error LNK2019: unresolved external symbol _BN_bin2bn
referenced in function _ibm_4758_load_privkey
e_4758cca.obj : error LNK2019: unresolved external symbol
_RSA_set_ex_data referenced in function _ibm_4758_load_privkey
e_4758cca.obj : error LNK2019: unresolved external symbol
_RSA_new_method referenced in function _ibm_4758_load_privkey
out32dll.dbg\4758cca.dll : fatal error LNK1120: 43 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio
9.0\VC\BIN
\link.EXE"' : return code '0x460'
Stop.

-----Original Message-----
From: owner-openssl-us...@openssl.org
[mailto:owner-openssl-us...@openssl.org] On Behalf Of Fili, Tom
Sent: Friday, December 03, 2010 12:01 PM
To: openssl-users@openssl.org
Subject: RE: Private Key from Windows Cert Store

I rebuild OpenSSL and didn't get a capi.dll. I'm using 0.9.8k. Is there
something I'm missing in the build process that I need to change to get
the engines to compiled in. From what I've read it looks like it builds
these engines into the openssl dlls.

The following returns still NULL for me.

                        ENGINE_load_builtin_engines();
                        ENGINE *e = ENGINE_by_id("capi");

-----Original Message-----
From: owner-openssl-us...@openssl.org
[mailto:owner-openssl-us...@openssl.org] On Behalf Of Dr. Stephen Henson
Sent: Tuesday, November 30, 2010 11:49 AM
To: openssl-users@openssl.org
Subject: Re: Private Key from Windows Cert Store

On Tue, Nov 30, 2010, Fili, Tom wrote:

> Thanks, but I was more looking for docs on the interop of OpenSSL and
> the Crypto API. I got pretty most info from the capi that I needed
> except the private key, which from what I've read may not always be
> exportable anyway. I was looking for how to call the following
functions
> with a location in the store, instead of a file.
> 
> SSL_CTX_load_verify_locations
> SSL_CTX_use_PrivateKey_file
> SSL_CTX_use_certificate_chain_file
> 
> or replacement functions that need to be called instead.
> 
> Also, I'm having issues compiling with capi engine support. The engine
> doesn't appear to load as I get NULL from ENGINE_by_id("capi");
> 

When you build OpenSSL it should produce a capi.dll file which needs to
be
installed in an appopriate place: where depends on how you've configured
OpenSSL.

Do you want to use the private key for client authentication? If so
there is
an automatic certificate selection process which may help.

Otherwise you call ENGINE_load_privatekey(engine, id, NULL, NULL); then
pass the EVP_PKEY structure to SSL_CTX_use_PrivateKey().

Where id is (by default) a string passed to
CertFindCertificateInStore().

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to