Hi All,

When linking to the FIPS Capable shared object, the program fails its
fingerprint check:

$ arm-linux-androideabi-gcc --sysroot="$ANDROID_SYSROOT"
-I/usr/local/ssl/android-14/include fips_hmac.c -o fips_hmac.exe
/usr/local/ssl/android-14/lib/libcrypto.so.1.0.0
$ adb push /usr/local/ssl/android-14/lib/libcrypto.so.1.0.0 /data/local/tmp/
827 KB/s (2154388 bytes in 2.541s)
$ adb push fips_hmac.exe /data/local/tmp/
64 KB/s (6884 bytes in 0.103s)
$ adb shell
shell@android: $ cd /data/local/tmp
255|shell@android: $ LD_LIBRARY_PATH=./; ./fips_hmac.exe -v *
Attempting FIPS mode...
1076692172:error:2D06B06F:FIPS
routines:FIPS_check_incore_fingerprint:fingerprint does not
match:fips.c:232:
2|shell@android:/data/local/tmp $

Any ideas why the signature would be in the BSS (initialized to 0):

  $ arm-linux-androideabi-objdump -T libcrypto.so.1.0.0 | grep -i FIPS_signature
  001a9668 g    DO .bss   00000014 FIPS_signature

Should I be running fipsld somewhere (I thought that was done for the
shared object during make).

Below are the steps used to build the FIPS Object Module and FIPS Capable.

Jeff

**** FIPS Object Module *****

. ./setenv-android.sh
cd openssl-fips-2.0.4/
./config
make
sudo make install
sudo mv /usr/local/ssl/fips-2.0/ /usr/local/ssl/$ANDROID_API
sudo cp $FIPS_SIG /usr/local/ssl/$ANDROID_API/bin

***** FIPS Capable *****

. ./setenv-android.sh
cd openssl-1.0.1e/
./config fips shared -no-sslv2 -no-sslv3 -no-comp -no-hw -no-engines
--openssldir=/usr/local/ssl/$ANDROID_API
--with-fipsdir=/usr/local/ssl/$ANDROID_API
--with-fipslibdir=/usr/local/ssl/$ANDROID_API/lib/
make depend
make all
sudo -E make install CC=$ANDROID_TOOLCHAIN/arm-linux-androideabi-gcc
RANLIB=$ANDROID_TOOLCHAIN/arm-linux-androideabi-ranlib
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to