2014-07-10 13 views
6

Mam następujący link tutaj budować biblioteki OpenSSL dla Androida:Problemy budynek OpenSSL dla Androida

http://wiki.openssl.org/index.php/Android

Oto moje ustawienia w Setenv-Android.sh:

_ANDROID_EABI="arm-linux-androideabi-4.6" 
_ANDROID_ARCH=arch-arm 
_ANDROID_API="android-16" 

Następny krokiem jest uruchomienie następującego polecenia:

$ . ./Setenv-Andrhoid.sh 

Oto błąd, który otrzymuję :

Error: FIPS_SIG does not specify incore module. Please edit this script. 

Nie ma wzmianki o tym, jak skonfigurować FIPS_SIG na wiki. Wygląda na to, że skrypt szuka pliku lub katalogu o nazwie "incore". Przeszukałem mój $ ANDROID_NDK_ROOT. Jednak nie mam żadnego pliku "incore".

Następny polecenia potrzebne do uruchomienia jest następujący:

$ ./config shared -no-ssl2 -no-ssl3 -no-comp -no-hw -no-engine \ 
     --openssldir=/usr/local/ssl/$ANDROID_API 

Tutaj jest openssldir wskazując na absolutną /usr/... katalogu? Mam nadzieję, że ostateczne pliki nagłówkowe i pliki lib znajdą się w katalogu $ANDROID_NDK_ROOT/platform/android-16/arch-arm.

Odpowiedz

5
Here is the error I am getting: 
    Error: FIPS_SIG does not specify incore module. Please edit this script. 

Och, masz rację. To zostało naprawione na wiki.

Pomyślałem, że w skrypcie jest komentarz na temat "można go bezpiecznie zignorować, jeśli ...", ale wygląda na to, że nie ma też komentarza. Westchnienie ...

Ten sam skrypt jest używany do budowania zarówno biblioteki FIPS, jak i wersji FIPS, która może być obsługiwana i niezgodna z FIPS. Możesz bezpiecznie zignorować błąd FIPS_SIG, jeśli nie tworzysz biblioteki zdolnej do pracy z FIPS.

Od kiedy używasz OpenSSL and Android, możesz zignorować. Jeśli podążałeś za, śledziłeś FIPS Library and Android, to może być , a nie zignorowany.


Wygląda skrypt szuka pliku lub katalogu o nazwie „Incore”.

Dla kompletności, incore jest skryptem, który osadza odcisk palca HMAC w programie lub obiekcie udostępnionym. Moduł obiektowy FIPS użyje wbudowanego HMAC do samego testu integralności podczas uruchamiania. Jest całkiem bezużyteczny w praktyce, ponieważ klucz jest dobrze znany;)

incore jest rozpowszechniany z openssl-fips-2.0.7.tar.gz i przyjaciółmi. Po umieszczeniu w dowolnym miejscu incore (drzewa katalogów lub na przykład /usr/local/ssl/android-18/bin), należy ustawić FIPS_SIG na nazwę pliku.


$./ Config wspólne -no-SSL2 -no-SSL3 -no-comp -no-HW -no silnikiem --openssldir =/usr/local/ssl/$ ANDROID_API

Tutaj jest openssldir wskazując absolutna/usr/... katalog? Mam nadzieję, że ostateczne pliki nagłówkowe i pliki lib znajdą się w katalogu $ ANDROID_NDK_ROOT/platform/android-16/arch-arm.

--openssldir to katalog instalacyjny. Powinieneś ustawić go na $ANDROID_NDK_ROOT/platform/android-16/arch-arm, jeśli tam właśnie chcesz zainstalować bibliotekę.

Trochę więcej informacji: domyślnie OpenSSL zainstaluje się pod numerem /usr/local/ssl. Kiedy buduję iOS, używam --openssldir=/usr/local/ssl/ios. Kiedy buduję Androida, --openssldir=/usr/local/ssl/android-18 (lub android-14 itd.).

Na przykład, oto co kopalnia wygląda na Mac Book:

$ ls /usr/local/ssl/ 
android-14 darwin macosx-x64 
android-18 ios  macosx-x86 
Powiązane problemy