Hi folks,
I have a FIPS capable OpenSSL library, where libcrypto.so and libssl.so get 
linked into my product during build. I'm using FIPS 2.0 and OpenSSL 1.0.1c.

To the best of my knowledge, on the build machine I can do the following:
for fips, I call
./config
make
make install
where I give install an install prefix

for openssl, I call
./config fips -d shared --with-fipsdir={install_prefix}/usr/local/ssl/fips-2.0 -
-prefix={blah}

This all works fine. fipscanister.o comes out, I point openssl to it, and 
openssl makes some libraries. Doing an objdump on libcrypto.so reveals similar 
fingerprint text as found in an objdump on fipscanister.o.

My total build generates an rpm of my source with the linked ssl libraries, 
which I install on a different machine that does not have openssl or fips 
installed.

Unfortunately, FIPS_mode_set(1) still fails for me with the following:

error:2D06C06E:FIPS routines:FIPS_mode_set:fingerprint does not 
match:fips.c:489:

It is my understanding that fipscanister.o gets generated with its SHA1 value 
already embedded in it, and FIPS_mode_set generates its own fingerprint at 
runtime to compare to the embedded value. In this manner, fipscanister.o should 
be totally modular.

I am not statically linking and should not need to use fipsld. I also do not 
use 
fips_standalone_sha1 at any point.

Am I missing a step somewhere that is critical to getting FIPS initialized at 
runtime?

Thanks,
Cassie
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to