> My executable loads a DLL (A) which loads a second DLL (B), and that > second DLL is linked with the OpenSSL libraries, so the libeay32.dll > and ssleay32.dll are loaded automatically when B loads. However, > libeay32.dll does not always load at the right address, and so the > fingerprint check within FIPS_mode_set fails. I tried changing my > OpenSSL build procedure (as described in the thread linked above) to > include /FIXED and /DYNAMICBASE:NO but that did not solve the problem. > Now, attempting to load DLL B fails with ERROR_INVALID_ADDRESS.
I had a similar problem with building the 32bit DLL for windows 8. In my case I had missed that you need to set both LFLAGS=/nologo /subsystem:console /opt:ref /debug /DYNAMICBASE:NO /FIXED and MLFLAGS= /nologo /subsystem:console /opt:ref /debug /dll /DYNAMICBASE:NO /FIXED in ntdll.mak A good test to see if it works is to set OPENSSL_FIPS=1 in cmd and run openssl.exe md5 openssl.exe This will give different output for fips check fail, fips not activated, and fips working as intended. If it works after a reboot it works for real. //Anton ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List [email protected] Automated List Manager [email protected]
