Many thanks Mehmet. Compiling openssl with the "shared" option helped. That resulted in the stunnel build process generating an stunnel executable that dynamically linked to libcrypto.so. With this configuration, the FIPS fingerprint is embedded in the shared library itself and the FIPS self-verification step succeeds.

Without the "shared" option, stunnel was linking in libcrypto.a statically. With this configuration, fipsld is needed to embed the FIPS fingerprint into the stunnel executable at compile time. However, this does not appear to be currently supported by the stunnel build process.

The reason openssl (application) worked in my examples below is that the openssl build process does support FIPS in both configurations: as-is when dynamically linked, and with fipsld when statically linked.


On Sun, Jul 7, 2013 at 11:43 PM, mehmet ozisik <mehmetzsk@gmail.com> wrote:
Hi,

I was having same error on x86. Then I have read this and followed the instructions written on this post, then it has worked successfully. Please have a look at this :

http://www.mail-archive.com/openssl-users@openssl.org/msg68085.html

Regards
Mehmet


2013/7/8 Ondrej Hrebicek <ondrej@gmail.com>
Hello stunnel users,

I'm trying to compile stunnel 4.56 with FIPS support on Ubuntu 12.04. Always end up with the infamous "fingerprint does not match" error. I can't figure out what I'm doing wrong.

1. Download�openssl-fips-2.0.2.tar.gz, unpack, ./config, make, and sudo make install (as specified in�http://www.openssl.org/docs/fips/UserGuide-2.0.pdf)

2. Download�openssl-1.0.1e.tar.gz, unpack, ./config fips --with-fipslibdir=/usr/local/ssl/fips-2.0/lib/ --with-fipsdir=/usr/local/ssl/fips-2.0/, make depend, make, and sudo make install

3. At this point, openssl is working in FIPS mode:
� � > OPENSSL_FIPS=1 /usr/local/ssl/bin/openssl version
� ��OpenSSL 1.0.1e-fips 11 Feb 2013

� � > OPENSSL_FIPS=1 /usr/local/ssl/bin/openssl sha1 c_rehash
� ��SHA1(c_rehash)= 5af9e1479950bbbd9d3304c181b3f802c54f64fd

� � >�OPENSSL_FIPS=1 /usr/local/ssl/bin/openssl md5 c_rehash
� � Error setting digest md5
� � 139806582736544:error:060A80A3:digital envelope routines:FIPS_DIGESTINIT:disabled for fips:fips_md.c:180:

4. Download�stunnel-4.56.tar.gz, unpack,�./configure --enable-fips --with-ssl=/usr/local/ssl, make, and sudo make install

5. While configuring and building stunnel completes as expected, the following does appear in ./configure's output:

� � checking whether to enable FIPS mode support... yes
� ��configure: **************************************** SSL
� ��checking for SSL directory... /usr/local/ssl
� ��checking /usr/local/ssl/include/openssl/engine.h usability... yes
� ��checking /usr/local/ssl/include/openssl/engine.h presence... yes
� ��checking for /usr/local/ssl/include/openssl/engine.h... yes
� ��checking /usr/local/ssl/include/openssl/ocsp.h usability... yes
� ��checking /usr/local/ssl/include/openssl/ocsp.h presence... yes
� ��checking for /usr/local/ssl/include/openssl/ocsp.h... yes
� ��checking /usr/local/ssl/include/openssl/fips.h usability... no
� ��checking /usr/local/ssl/include/openssl/fips.h presence... no
� ��checking for /usr/local/ssl/include/openssl/fips.h... no
� ��configure: WARNING: OpenSSL fips header not found

This is not entirely unexpected as fips.h only exists in�/usr/local/ssl/fips-2.0/include/openssl.

6. Running stunnel however fails:

� � >�/usr/local/bin/stunnel
� � Clients allowed=500
� ��stunnel 4.56 on x86_64-unknown-linux-gnu platform
� ��Compiled/running with OpenSSL 1.0.1e-fips 11 Feb 2013
� ��Threading:PTHREAD Sockets:POLL,IPv6 SSL:ENGINE,OCSP,FIPS
� ��Reading configuration from file /usr/local/etc/stunnel/stunnel.conf
� ��FIPS_mode_set: 2D06B06F: error:2D06B06F:FIPS routines:FIPS_check_incore_fingerprint:fingerprint does not match
� ��Line 61: "[pop3s]": Failed to initialize SSL
� ��str_stats: 5 block(s), 120 data byte(s), 290 control byte(s)

I can't figure out what's causing this, hoping someone on the list may have a couple suggestions. Thanks in advance!

_______________________________________________
stunnel-users mailing list
stunnel-users@stunnel.org
https://www.stunnel.org/cgi-bin/mailman/listinfo/stunnel-users