<div dir="auto"><p style="font-family:sans-serif;font-size:12.8px"><strong>Appreciate any help on the following.</strong></p><ol style="font-family:sans-serif;font-size:12.8px"><li><p>Built OpenSSL Fips Module and then 'static binaries' of FIPS capable OSSL which 'statically link to the windows run-time'. Thus, my application binary (<code>FipsApp.exe</code>) does not depend on OSSL DLLs.</p></li><li><p>Consumed these static binaries namely (<code>libeaycompat32.lib</code>, <code>libeayfips32.lib</code> and <code>ssleay32.lib</code>) into <code>myapp.dll</code> using <code><a href="http://msincore.pl/" style="text-decoration-line:none;color:rgb(66,133,244)">msincore.pl</a></code>.</p></li><li><p><code>FipsApp.exe</code> calls function <code>foo()</code> inside <code>myapp.dll</code> which executes <code>FIPS_mode_set()</code> which returns <code>(100:error:2D06B06F:lib(45):func(107): reason (111):/FIPS/FIPS.c:232)</code></p></li></ol><h1 style="font-family:sans-serif">Result</h1><ol style="font-family:sans-serif;font-size:12.8px"><li><p>On executing 64-bit <code>FipsApp.exe</code>, the FIPS mode gets set and working with 64-bit <code>myapp.dll</code></p></li><li><p>But on executing 32-bit <code>FipsApp.exe</code> which uses 32-bit <code>myapp.dll</code> with same configuration, <code>FIPS_mode_set()</code> fails with reason <code>111</code> (<code>Fingerprint mismatch</code>)</p></li></ol><h1 style="font-family:sans-serif">Attempted</h1><p style="font-family:sans-serif;font-size:12.8px">Since above 32-bit myapp.dll did not work, some additional configuration changes were made.</p><ol style="font-family:sans-serif;font-size:12.8px"><li><p>ReBuilt 32-bit myapp.dll with above LFLAGS "<code>/DynamicBase:No /Fixed</code>". Here default base address gets used for myapp.dll</p></li><li><p>ReBuilt 32-bit myapp.dll with base address of <code>0xFB00000</code>. (OSSL does same thing for FIPS dlls)</p></li><li><p>Checking out following <a href="http://openssl.6102.n7.nabble.com/FIPS-Static-Library-linked-into-Win32-Dll-builds-but-fails-self-test-td63011.html" style="text-decoration-line:none;color:rgb(66,133,244)">http://openssl.6102.n7.nabble.com/FIPS-Static-Library-linked-into-Win32-Dll-builds-but-fails-self-test-td63011.html</a></p></li></ol><p style="font-family:sans-serif;font-size:12.8px">But 32-bit myapp DLL does always fail with fingerprint mismatch.</p><h1 style="font-family:sans-serif">Question</h1><p style="font-family:sans-serif;font-size:12.8px">How do I get 32-bit <code>myapp.dll</code> working in FIPS mode? <code>FIPS_mode_set()</code> returns <code>(100:error:2D06B06F:lib(45):func(107): reason (111):/FIPS/FIPS.c:232)</code></p><p style="font-family:sans-serif;font-size:12.8px">Thanks.</p></div>