Я работаю над проектом android, который требует, чтобы криптографические библиотеки, присутствующие в приложении, были сертифицированы FIPS. Насколько я знаю, нет проверенных FIPS библиотек безопасности JAVA. Замок Буси хорош, но не подтвержден. Прочитав некоторые сообщения на форуме, я узнал, что модуль FIPS OpenSSL можно использовать с помощью NDK.Building FIPS module for android
Прямо сейчас я пытаюсь создать модуль fips-openssl для Android, чтобы сделать это, я создал скрипт для переменных окружения для кросс-компиляции.
Я использую openssl-fips и ndk-r8 для этого проекта. Я следил за fips guideline Я нашел в google. Надеюсь, это даст четкое представление о том, что я пытаюсь сделать.
#! /bin/sh
export ANDROID_NDK="~/Android/android-ndk-r8"
export FIPS_SIG="${ANDROID_NDK}/incore"
export GCC_C1="/usr/lib/gcc/i686-pc-linux-gnu/4.7.0/"
export PATH=$PATH:"${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin";
export MACHINE=armv71
export ARCH=arm.
export CROSS_COMPILE="arm-linux-androideabi-"
export SYSTEM=android
#export RELEASE=2.6.32.GMU
export ANDROID_DEV="$ANDROID_NDK/platforms/android-14/arch-arm/usr"
export HOSTCC=/usr/bin/gcc
при выполнении make это ошибка, которую я получаю.
arm-linux-androideabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory `/home/abhiram/fips/openssl-fips-1.2.3/crypto'
make: *** [build_crypto] Error 1
Когда я выполняю «поиск», исполняемый файл cc1 присутствует в этом конкретном каталоге.
find . -name cc1
./toolchains/mipsel-linux-android-4.4.3/prebuilt/linux-x86/libexec/gcc/mipsel-linux-android/4.4.3/cc1
./toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/libexec/gcc/arm-linux-androideabi/4.4.3/cc1
./toolchains/x86-4.4.3/prebuilt/linux-x86/libexec/gcc/i686-android-linux/4.4.3/cc1
«Насколько я знаю, нет библиотек безопасности JAVA, совместимых с FIPS» - не верно. Например, RSA Data Security [BSAFE] (http://www.emc.com/security/rsa-bsafe.htm) проверяется FIPS. – jww