如何在Android上使用OpenSSL?

时间:2011-05-20 13:31:10

标签: android openssl

我有一个在Android应用程序中使用OpenSSL的项目。我对这个lib有点困惑。 我读到Android上已经存在OpenSSL ......这是真的吗?如果是这样,我该如何使用它......

如果没有,这是否意味着我必须从某个地方构建或获取lib ...如果我需要这样做,有没有人知道我在哪里可以找到它,以及我将如何构建使用用Android?

有人可以帮助我理解我需要什么才能开始......请不要害怕提供很多细节。 :)

提前致谢!

更新:我想做的是:

  • 创建密钥对
  • 获取私钥
  • 获取公钥
  • 加密文字
  • 解密文本(来自其他位置)

我在Eclipse上使用Mac OSX。

1 个答案:

答案 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