【问题标题】:Do openssl-1.0.1g has android platform support?openssl-1.0.1g 有安卓平台支持吗?
【发布时间】:2014-05-30 16:21:05
【问题描述】:

由于某些版本的 OpenSSL 存在令人心碎的问题,我需要将我的 OpenSSL 版本更新为 openssl-1.0.1g。是否支持安卓平台?如果是的话,有人可以向我推荐建造程序吗?我无法编译android平台的源代码。

非常感谢任何好的建议。

注意:我会为 android-ndk 使用 openssl

【问题讨论】:

    标签: android android-ndk openssl heartbleed-bug


    【解决方案1】:

    openssl-1.0.1g 有安卓平台支持吗?

    是的。

    1. 转到OpenSSL and Android 并获取setenv-android.sh
    2. 确保已设置ANDROID_NDK_ROOT
    3. 确保已设置ANDROID_SDK_ROOT
    4. 打开setenv-android.sh,并确保_ANDROID_NDK_ANDROID_EABI_ANDROID_API 适合您的口味
    5. 运行以下命令(运行setenv-android.sh时注意前导点)

      $ . ./setenv-android.sh

      $ cd openssl-1.0.1g/

      $ perl -pi -e 's/install: all install_docs install_sw/install: install_docs install_sw/g' Makefile.org

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

      $ make all

      $ sudo -E make install CC=$ANDROID_TOOLCHAIN/arm-linux-androideabi-gcc RANLIB=$ANDROID_TOOLCHAIN/arm-linux-androideabi-ranlib

    安装后,您的 Android OpenSSL 将位于例如/usr/local/ssl/android-18


    非常感谢任何好的建议。

    注意:Android 的 Zygote 类似于 Linux/Unix init。所有进程都继承自它。问题是,Zygote 加载 OpenSSL 并且它可能是一个低级版本。因此,您必须创建一个 静态 链接到 OpenSSL 的包装共享对象。您的程序将调用您的包装共享对象,以避免 OpenSSL 的已映射和低级版本。

    【讨论】:

    猜你喜欢
    • 2013-03-25
    • 2012-06-18
    • 2019-04-26
    • 1970-01-01
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多