On Fri, Feb 17, 2012, Kevin Fowler wrote:

> Thanks Harvey,
> This seems to have worked as far as getting the .rodata section used. This
> is what I see now:
> 
> 001b5740 g     O .rodata        00000010 FIPS_rodata_start
> 001b5750 l     O .rodata        00000011 FIPS_hmac_key
> 001b57bc g     O .rodata        00000036 FIPS_bn_version
> 001c1e08 g     O .rodata        00000010 FIPS_rodata_end
> 001fb1cc g     O .data  00000014 FIPS_signature
> 
> My problem now is that when I build an executable (I'm using the simple
> hmac.c example in the user guide, with the Makefile modified to use a
> shared library) that uses the shared libcrypto.so, and run it on my target,
> it just spits out a hash value, no matter what options I give it. For
> example:
> 
> # ./hmac
> 334286d0c4ca79f97921fa782c7269e972e0a420
> 
> Before I used the suggested "-f" options, this app at least worked for
> non-fips and gave me an error when enabling fips mode. Now I don't
> understand what it is doing, but I think it is trying to tell me something!!
> 
> I've tried messing around with different INCORE_ADJUST values, but that
> does not seem to make any difference. I don't really understand how incore2
> is supposed to work: it calculates a lot of stuff and dumps out values but
> never appears to modify the executable or library.
> 
> I've also tried static linking of libcrypto.a into the executable - same
> result.
> 

You need to use the "fipsld" script to link the target. It obtains the
signature and embeds it. You need to set FIPS_SIG environment variable to
point to the incore script.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to