OpenSSL lib ( Android)?
, -. , ( OpenSSL): OpenSSL Android.
. :
./ android-armv7
, . , Android NDK. AOSP. - , NDK.
, . OpenSSL.
x86:
export MACHINE=i686export RELEASE=2.6.37export SYSTEM=androidexport ARCH=x86export CROSS_COMPILE="i686-linux-android-"
ARM:
export MACHINE=armv7export RELEASE=2.6.37export SYSTEM=androidexport ARCH=arm
export ANDROID_DEV="$ANDROID_NDK_ROOT/platforms/$_ANDROID_API/$_ANDROID_ARCH/usr"export HOSTCC=gcc
ANDROID_DEV /opt/android-ndk-r9/platforms/android-14/arch-arm/usr.
. , --sysroot. --sysroot - /opt/android-ndk-r9/platforms/android-14/arch-arm.
OpenSSL Android. , , - setenv-android.sh, .
OpenSSL Android.
$ cd openssl-1.0.1h
$ . ./setenv-android.sh
Error: FIPS_SIG does not specify incore module. Please edit this script.
ANDROID_NDK_ROOT: /opt/android-ndk-r9
ANDROID_EABI: arm-linux-androideabi-4.6
ANDROID_API: android-14
ANDROID_SYSROOT: /opt/android-ndk-r9/platforms/android-14/arch-arm
ANDROID_TOOLCHAIN: /opt/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/bin
FIPS_SIG:
CROSS_COMPILE: arm-linux-androideabi-
ANDROID_DEV: /opt/android-ndk-r9/platforms/android-14/arch-arm/usr
$ ./config shared no-ssl2 no-ssl3 no-comp no-engines no-hw no-psk no-srp
Operating system: armv7-whatever-android
Configuring for android-armv7
Configuring for android-armv7
no-comp [option] OPENSSL_NO_COMP (skip dir)
no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
no-engines [option] OPENSSL_NO_ENGINES (skip dir)
...
no-srp [option] OPENSSL_NO_SRP (skip dir)
no-ssl2 [option] OPENSSL_NO_SSL2 (skip dir)
no-ssl3 [option] OPENSSL_NO_SSL3 (skip dir)
no-store [experimental] OPENSSL_NO_STORE (skip dir)
no-zlib [default]
no-zlib-dynamic [default]
IsMK1MF=0
CC =gcc
...
$ make
...
arm-linux-androideabi-gcc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS
-D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -march=armv7-a -mandroid
-mfloat-abi=softfp -I/opt/android-ndk-r9/platforms/android-14/arch-arm/usr/include
-B/opt/android-ndk-r9/platforms/android-14/arch-arm/usr/lib -Os -fomit-frame-pointer
-Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM
-DAES_ASM -DGHASH_ASM -c -o cryptlib.o cryptlib.c
...
Error: FIPS_SIG does not specify incore module..., FIPS Capable.
... unversioned shared lib ( Android)?
, , . , - lib . , OpenSSL, .
, Zygote. Zygote OpenSSL 0.9.8, . , Zygote forks , 0.9.8, APK . OpenSSL. .
, OpenSSL Configure . -, -mfloat-abi=softfp. AOSP. -, -O3, -Os. .
, Makefile . , .