Fingerprint mismatch only for 32-bit DLL linked statically to FIPS Capable OpenSSL

Appreciate any help on the following.

1) Built OpenSSL Fips Module and then ‘static binaries’ of FIPS capable OSSL which ‘statically link to the windows run-time’. Thus, my application binary (FipsApp.exe) does not depend on OSSL DLLs.

2) Consumed these static binaries namely (libeaycompat32.lib, libeayfips32.lib and ssleay32.lib) into myapp.dll using

3) FipsApp.exe calls function foo() inside myapp.dll which executes FIPS_mode_set() which returns (100:error:2D06B06F:lib(45):func(107): reason (111):/FIPS/FIPS.c:232)


1) On executing 64-bit FipsApp.exe, the FIPS mode gets set and working with 64-bit myapp.dll

2) But on executing 34-bit FipsApp.exe which uses 32-bit myapp.dll with same configuration, FIPS_mode_set() fails with reason 111 (Fingerprint mismatch)


Since above 32-bit myapp.dll did not work, some additional configuration changes were made.

1) ReBuilt 32-bit myapp.dll with above LFLAGS “/DynamicBase:No /Fixed”. Here default base address gets used for myapp.dll

2) ReBuilt 32-bit myapp.dll with base address of 0xFB00000. (OSSL does same thing for FIPS dlls)

3) Checking out following

But 32-bit myapp DLL does always fail with fingerprint mismatch.


How do I get 32-bit myapp.dll working in FIPS mode? FIPS_mode_set() returns (100:error:2D06B06F:lib(45):func(107): reason (111):/FIPS/FIPS.c:232)


How can a 32bit CPU have a addressabel memory size of 16TB?

Frequently, on a 32-bit CPU, each page-table entry is 4 bytes long, but that size can vary as well.

A 32-bit entry can point to one of $ 2^{32}$ physical page frames.

If frame size is 4 KB (212), then a system with 4-byte entries can address $ 2^{44}$ bytes (or 16 TB) of physical memory.

The above statement is taken from the book “Operating System Principles” by Galvin.

If all 32 bits in a 32-bit CPU are used to refer to pages , then we can have $ 2^{32}$ pages. But then no more bits will be left to point to memory inside a page of size $ 2^{12}$ bits since all 32-bits have been used up.

How can we thus say that $ 2^{44}$ bytes are adressable?

How to run 64bit software on 32bit operating system?

I have a Windows software that only has 64bit version and I want to run it on my linux computer. I know I can use wine on linux but my OS is 32bit and my hardware supports 64bit I know that I can run a 64bit program on a 32bit operating system using a virtual machine but I don’t know how to do it. I hope someone will show me how to do it.

Install 32-bit OpenJDK 8u111 on Ubuntu 12.04 LTS [on hold]

I would like to install 32-bit OpenJDK 8u111 JDK on Ubuntu 12.04.4 LTS, but cannot find the deliverables I need – i386 build 1.8.0_111-8u111-b14-3~12.04-b14.

My ubuntu version is: Distributor ID: Ubuntu Description: Ubuntu 12.04.4 LTS Release: 12.04 Codename: precise

I found the revision I need for Ubuntu 14.04,, but I’m not sure it’s good for Ubuntu 12.04.

Please let me know whether revision built for 14.04 is ok for 12.04. If it’s not, please advise where I could get the i386 build of OpenJDK 1.8.0_111 JDK for Ubuntu 12.04.4 LTS.

Have to Power Boot Twice to Load Lubuntu 18.04 on old 32-bit Dell Laptop

I have an old, 32-bit Dell Inspiron 1505 laptop that had been running an earlier version Lubuntu. I recently installed Lubuntu 18.04 and it initially worked. Then, following a major software update to that re-installation (45 minutes), an unusual boot problem occurred. Problem Statement • Press power button once: Dell splash screen > brief flash of dim background light > Grub menu appears > screen remains black for as long as I let it sit there, but the power indicator light remains ON. So power is on but with a black screen. • Press and hold power button: brief flash of dim background light > power goes OFF. Power indicator light OFF. No power to the laptop. • Press power button a 2nd time: Dell splash Screen > Grub Menu > blinking cursor > /dev/sda1/ recovering journal, followed by a minute of messages for starting various services and modules > Lubuntu desktop opens. Power light ON, hard drive light OFF, until I open a browser; then the hhd light turns ON. • So, I am able to access the GRUB menu on the 2nd power boot and open Lubuntu • I can boot from either the USB or DVD options, and from a Live DVD USB or disk Actions Taken so far: • I have run ‘Boot Repair Disk’ twice. I have posted its report at for further info. • If it matters, the battery on this laptop is no longer taking a charge. • I have run MemTest+86 and hard drive S.M.A.R.T. tests, and they show no errors • Sda1 is using the ext4 file format. I have researched this problem and identified several potential solutions: 1. Edit Grub file and replace ‘quiet splash’ with nomodset 2. Use a different kernel (I only have 1 on the Grub menu) 3. Disconnect a USB mouse (didn’t help) 4. Substitue gdm for lightdgm as default log in manager (how to do this?) 5. Boot into a recovery mode and run fsck 6. Examine the /var/log/dpkg.log for errors 7. I have read there is a bug with Lubuntu 18.04 on 32-bit systems So if Grub menu works, power to the laptop is on (on 2nd power button), and hardware is not an issue (hhd and RAM tested good), then at what point does this boot problem occur, what does ‘recovering journal’ imply, and how do I fix it? It seems to me to be a software, rather than a hardware problem, but any suggestions would be most appreciated to this highly frustrating boot problem. Thanks.

How much of 32-bit support is dropped in Catalina?

MacOS Catalina is said to have dropped support for 32-bit applications. But how much of the support is actually dropped? Is it only that 32-bit libraries are no longer supplied? Or will 32-bit binaries, even if statically linked, fail to launch?

If 32-bit binaries can’t launch, is there any supported way for a 64-bit app to request the kernel to create a 32-bit code segment?

32-bit and 64-bit Android: how to tell before buying a phone

I have been looking into 32-bit or 64-bit Android versions for phones. It seems to me that the information on the number of bits of the installed Android version is always missing from phones’ specs, unlike what happens for the CPU. Googling around, the ways I have found to understand whether a phone is running a 32-bit or a 64-bit OS all include actually doing something with the phone, like looking up the kernel version or downloading some app, like AIDA64.

How do I know if a phone I want to buy will come with a 32-bit or a 64-bit Android before I buy it? It would be interesting to find a layman-friendly criterion or resource that allows me to know this in advance, especially to be able to look into the cheapest phones running a 64-bit Android.