如何使用JNI使用加密和解密从openSSL生成libssl.so和libcrypto.so

时间:2015-02-04 09:05:22

标签: android android-ndk openssl java-native-interface ndk-build

我想使用libssl.so和libcrypto.so在Android中使用JNI加密和解密文件。但是,我无法从开放SSL中获取这两个库。那么,如何获得这两个库请帮助我。

因为,我从https://github.com/guardianproject/openssl-android下载了openSSL Guardian项目。将此打开的SSL项目添加到我的小型Android应用程序中之后。我构建该项目但我没有找到任何libssl.so和libcrypto.so库。所以,请帮助我如何构建libssl.so和libcrytpo.so,以便我可以继续使用Android中的JNI进行加密和解密。

1 个答案:

答案 0 :(得分:0)

我认为你想确保你得到你想要的openssl版本,这就是为什么你要自己编译它。

一般来说,编译Android项目通常建立在比Android更“正常”的Linux版本上,这可能需要摆弄。似乎openssl人员在这里有一套指令:

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

首先,您需要获得适当的Android NDK,并为要部署的设备类型创建独立的工具链。上面的wiki页面似乎有使用这样的工具链编译openssl的说明,例如设置CC = [gcc-version-from-your-toolchain]等。

有一点很难告诉你发布为什么你需要这样做,我同意EJP的评论,根据你的需要,可能有一个比自己编译新版openssl更容易的路径。 / p>