2011-05-20 79 views
2

我有一個在Android應用程序中使用OpenSSL的項目。我對這個lib有點困惑。 我讀過Android上已經存在的OpenSSL ...這是真的嗎?如果是這樣,我該如何使用它...如何在Android上使用OpenSSL?

如果不這樣做,這是否意味着我必須從某處建立或獲取lib ...如果我需要這樣做,是否有人知道我可以在哪裏找到它,以及我將如何構建以用於Android?

有人可以幫助我瞭解我需要開始的事情...請不要害怕提供大量的細節。 :)

在此先感謝!

UPDATE:我想要做的是:

  • 創建密鑰對
  • 獲取私鑰
  • 獲取公鑰
  • 加密文本
  • 解密文本(從另一個位置)

我在Eclipse中使用Mac OSX。

+0

如果您可以更多地告訴我們您正在努力完成的任務,那麼您將更有可能獲得更詳細的示例。 – FoamyGuy 2011-05-20 13:36:27

+0

我在Eclipse中使用Mac OSX。 – Fabien 2011-05-20 13:43:11

+0

更新了問題^^ – Fabien 2011-05-20 13:45:52

回答

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