On Thu October 2 2008, Thomas J. Hruska wrote: > Thomas J. Hruska wrote: > > Feel free to follow along with this e-mail: > > > > http://www.slproweb.com/download/bad_openssl.zip > > > > I just zipped up the contents of the 'out32dll' directory. What you see > > is what I've got in my out32dll directory. And now onto the main part > > of the e-mail. > > > > > > This is my first time building FIPS but given that I generally know how > > to build pretty much anything OpenSSL, it probably isn't my fault > > (famous last words). The build process works fine up to this point: > > > > out32dll\fips_premain_dso.exe out32dll\libeay32.dll > > 2348:error:25078067:DSO support routines:WIN32_LOAD:could not load the > > shared library:.\crypto\dso\dso_win32.c:147:filename(out32dll\libeay32.dll) > > 2348:error:25070067:DSO support routines:DSO_load:could not load the > > shared library:.\crypto\dso\dso_lib.c:244: > > Get hash failure at util\fipslink.pl line 48. > > NMAKE : fatal error U1077: 'C:\Perl\bin\perl.EXE' : return code '0x1' > > Stop. > > > > > > Looking at fipslink.pl, it looks like the first line displayed is the > > executable/command run. Running that command directly, I get the two > > error messages after Windows displays this message box: > > > > "Bad Image" > > "The application or DLL C:\[path]\openssl-0.9.7m\out32dll\libeay32.dll > > is not a valid Windows image. Please check this against your > > installation diskette." > > > > > > So, it is finding the DLL but refusing to load. It could be the fixed > > address issue and wanting to relocate, but using one of the tools I use, > > it is clear to me that something seriously hosed the file up somewhere > > along the line in the build process. There is a relocation table data > > directory entry but no relocation table (appears to be intentional file > > truncation) and a missing section. One of the tools I've used for years > > without problems is balking at the file. I'm not surprised that Windows > > isn't loading the DLL. > > > > > > VC++ 2008 Professional (not SP1) > > Windows XP SP2 > > FIPS 1.1.2 w/ OpenSSL 0.9.7m > > fipscanister.o and other files reside on a CD-R (drive e:) built against > > the MSYS instructions in the User Guide for 1.1.1. > > perl Configure VC-WIN32 fips --with-fipslibdir=e:/ > > Beyond that, regular build process using NASM (latest). > > Fresh 0.9.7m and FIPS 1.1.2 files, cross-referenced against the MD5 and > > SHA-1 hashes on the site (which, BTW, the website links are broken, I > > had to go through FTP). > > > > > > Additional tests: > > > > While paused at the message box, I ran a little tool I wrote many years > > ago: > > > > Process ID: 2904 > > Module ID = 00400000, Module Name = FIPS_PREMAIN_DSO.EXE, Module > > Filename = > > c:\cfiles\projects\winssl\openssl-0.9.7m\out32dll\FIPS_PREMAIN_DSO.EXE > > Module ID = 7C900000, Module Name = ntdll.dll, Module Filename = > > C:\WINDOWS\system32\ntdll.dll > > Module ID = 7C800000, Module Name = kernel32.dll, Module Filename = > > C:\WINDOWS\system32\kernel32.dll > > Module ID = 08370000, Module Name = depends.dll, Module Filename = > > C:\PROGRA~1\MIAF9D~1\Common\Tools\depends.dll > > Module ID = 77DD0000, Module Name = ADVAPI32.dll, Module Filename = > > C:\WINDOWS\system32\ADVAPI32.dll > > Module ID = 77E70000, Module Name = RPCRT4.dll, Module Filename = > > C:\WINDOWS\system32\RPCRT4.dll > > Module ID = 77FE0000, Module Name = Secur32.dll, Module Filename = > > C:\WINDOWS\system32\Secur32.dll > > Module ID = 71AD0000, Module Name = WSOCK32.dll, Module Filename = > > C:\WINDOWS\system32\WSOCK32.dll > > Module ID = 71AB0000, Module Name = WS2_32.dll, Module Filename = > > C:\WINDOWS\system32\WS2_32.dll > > Module ID = 77C10000, Module Name = msvcrt.dll, Module Filename = > > C:\WINDOWS\system32\msvcrt.dll > > Module ID = 71AA0000, Module Name = WS2HELP.dll, Module Filename = > > C:\WINDOWS\system32\WS2HELP.dll > > Module ID = 7E410000, Module Name = USER32.dll, Module Filename = > > C:\WINDOWS\system32\USER32.dll > > Module ID = 77F10000, Module Name = GDI32.dll, Module Filename = > > C:\WINDOWS\system32\GDI32.dll > > Module ID = 78520000, Module Name = MSVCR90.dll, Module Filename = > > C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e\MSVCR90.dll > > > > > > Module ID = 76390000, Module Name = IMM32.DLL, Module Filename = > > C:\WINDOWS\system32\IMM32.DLL > > Module ID = 629C0000, Module Name = LPK.DLL, Module Filename = > > C:\WINDOWS\system32\LPK.DLL > > Module ID = 74D90000, Module Name = USP10.dll, Module Filename = > > C:\WINDOWS\system32\USP10.dll > > > > > > No apparent base address conflicts with the loader and libeay32.dll > > (preferred base at the default 0x0FB00000). > > > > > > Dependency Walker was running the app. at the time and showed the > > following output: > > > > LoadLibraryA("out32dll\libeay32.dll") called from "FIPS_PREMAIN_DSO.EXE" > > at address 0x00412540. > > LoadLibraryA("out32dll\libeay32.dll") returned NULL. Error: %1 is not a > > valid Win32 application (193). > > Needless to say, given the lack of response and further web searching > reveals issues with older VC++ linkers core dumping(?) against the > latest MinGW and I've already put forth 30+ hours (not counting the > preparation time of several months!), two CD-Rs, and who knows how much > money into an attempted production of a default OpenSSL FIPS 140-2 > compliant binary build for Windows (complete with fancy installer), I'm > going to simply hold off until 1.2.0 becomes available and then try > again at that time. Mixing together binaries from two totally different > compilers is not only a bad idea, it is a horrifically terrible idea. > The fact that this supposedly works at all for some people is a miracle. > > Supposedly, from what I've read, 1.2.0 doesn't require mixing compilers. > That should significantly clean things up. Assuming, of course, "not > mixing compilers" allows the use of VC++. If I have to use MinGW, I > will be very annoyed. I'm also hoping I can compile against 0.9.8x > instead of 0.9.7m. > > Case closed. For the time being. I'm all OpenSSL'ed out. >
1.1.0 does not build shared. Build static or wait for 1.2.0 ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]