我有一个在Android应用程序中使用OpenSSL的项目。我对这个lib有点困惑。 我读到Android上已经存在OpenSSL ......这是真的吗?如果是这样,我该如何使用它......
如果没有,这是否意味着我必须从某个地方构建或获取lib ...如果我需要这样做,有没有人知道我在哪里可以找到它,以及我将如何构建使用用Android?
有人可以帮助我理解我需要什么才能开始......请不要害怕提供很多细节。 :)
提前致谢!
更新:我想做的是:
我在Eclipse上使用Mac OSX。
答案 0 :(得分:1)
我读到Android上已经存在OpenSSL ... 这是真的 ?如果是这样,我该如何使用它......
是的,但它是一个低级版本。我相信它的OpenSSL 0.9.8,但我可能错了。如果可能的话,你应该尽量避免它。例如,您没有获得能够使用TLS 1.2的库,因为它是在OpenSSL 1.0.1中引入的。
OpenSSL被加载到每个Android进程中。它是Zygote叉子的副产品。因此,无论您是否需要,您始终都拥有OpenSSL的低级版本。
您可以通过JNI访问OpenSSL。 Stack Overflow有很多问题和答案。
要使用较新的OpenSSL,您必须编写包装器共享对象并链接到OpenSSL的静态库版本。然后,您可以通过包装器通过JNI访问较新版本的OpenSSL。
我想做的是:
- 创建密钥对
- 获取私钥
- 获取公钥
- 加密文字
- 解密文字
当你准备好了,如果遇到麻烦,你应该提出不同的问题。
有关交叉编译说明,请参阅OpenSSL wiki上的Android。