3

NDK で openssl-fips-2.0 をビルドしようとしましたが、幸運にもこのリンクが見つかり、簡単に実行できました。 https://github.com/guardianproject/openssl-android

今、最新のopenssl-fips-2.0に対して同じことをしようとしています

ビルドを行うには、クロスコンパイルに関するドキュメントに従う必要がありますか? そして、より簡単なアプローチは?

前もって感謝します

4

4 に答える 4

7

android-ndk-r8 を使用して Mac OS X 10.7 で OpenSSL FIPS 2.0 をビルドする方法

  1. JDK、android-sdk、android-ndk のインストール

  2. Mac に GCC をインストールする

    Xcode\Preferences\Components\Command Line Tools\install.
    
  3. ビルドのためのセットアップ環境:

    $ANDROID_NDK_HOME is my android-ndk folder
    export ANDROID_NDK=$ANDROID_NDK_HOME
    export FIPS_SIG=$PWD/util/incore
    export PATH="$ANDROID_NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin":$PATH
    export MACHINE=armv7l
    export RELEASE=2.6.32.GMU
    export SYSTEM=android
    export ARCH=arm
    export CROSS_COMPILE="arm-linux-androideabi-"
    export ANDROID_DEV="$ANDROID_NDK/platforms/android-14/arch-arm/usr" 
    export HOSTCC=gcc
    
  4. fips openssl モジュールをビルドします。

    gunzip -c openssl-fips-2.0.tar.gz | tar xf -
    cd openssl-fips-2.0/
    ./config
    make
    make install # copy files to /usr/local/ssl/
    
  5. fips 対応の openssl ライブラリ (.a) をビルドする

    gunzip -c openssl-1.0.1c.tar.gz | tar xf -
    cd openssl-1.0.1c/
    ./config fips --with-fipslibdir=/usr/local/ssl/fips-2.0/lib/ 
    make depend
    make
    

ほらね。

于 2012-06-23T15:19:49.353 に答える
0

なんで?ビルド スクリプトを変更する必要がある場合、結果として得られるモジュールは FIPS に準拠していないため、Android でビルドするには変更する必要があります。

于 2012-06-19T04:22:54.773 に答える
0

ニコライとブリューフォンに感謝します。あなたの投稿をもっと早く見つけていればよかったのに。私は自分の携帯電話用の fips-openssl を構築することができました.fipsld スクリプトに小さな awk スニペットを追加して、機能させる必要がありました.(openssl-fips-1.2.3)

brewphone の場合、ビルドから libcrypto.a と libssl.a があり、それらを静的にリンクしてアプリケーションのライブラリを作成します。それが最善の方法ですか?

ありがとう!

于 2012-07-03T19:01:29.010 に答える
0

他の誰かが私と同じ問題に遭遇した場合、上記のようにbrewphoneが説明したようにこれを機能させるための鍵(あなたの洞察に感謝します)は、ストリップされていないライブラリをコンテンツとしてパッケージ化し、その後アプリデータフォルダーにコピーすることですとトリックSystem.load("/data/data/myapp/files/libcrypto.so.1.0.0")を行いました。System.load("/data/data/myapp/files/libssl.so.1.0.0")

興味深いことに、.so 拡張子の前にバージョン番号を配置するように makefile を変更しただけで、fips に触れていないにもかかわらず、フィンガープリントが失敗しました。

Brewphone、これを別の方法で行うことができた場合は、お知らせください:)

于 2012-09-12T16:40:27.443 に答える