FIPS 인증을 받기 위해 애플리케이션에있는 암호화 라이브러리가 필요한 안드로이드 프로젝트를 진행 중입니다. 내 지식에는 FIPS 검증 된 JAVA 보안 라이브러리가 없습니다. Boucy Castle은 훌륭하지만 검증되지 않았습니다. 포럼 게시물을 읽은 후 OpenSSL의 FIPS 모듈을 NDK를 통해 사용할 수 있음을 알게되었습니다.안드로이드 용 FIPS 모듈 빌드
지금은 Android 용 fips-openssl 모듈을 작성하려고합니다. 크로스 컴파일을위한 환경 변수 스크립트를 작성했습니다.
이 프로젝트에서는 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
이 작업을 수행 할 때 발생하는 오류입니다.
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
"필자가 아는 한 FIPS 호환 Java 보안 라이브러리는 없습니다."- 사실이 아닙니다. 예를 들어 RSA Data Security의 [BSAFE] (http://www.emc.com/security/rsa-bsafe.htm)는 FIPS의 유효성을 검사합니다. – jww