2010-04-06 104 views
6

我想寫使用BouncyCastle的算法的小型應用程序,從BouncyCastleProvider.java它說我們有進口和下面的代碼如何添加BouncyCastle的算法到Android

import org.bouncycastle.jce.provider.BouncyCastleProvider; Security.addProvider(new BouncyCastleProvider());

運行過程中添加的供應商

錯誤 - 導入org.bouncycastle無法解析;導入期間 錯誤 - BouncyCastleProvider無法解析爲類型;當調用addProvider

雖然bouncycastle沒有提供與Android 1.6 SDK,所以想分開安裝。我應該怎麼做? 如果Bouncycastle與SDK一起發貨,我應該怎麼做才能避免這些錯誤? 我在winXP上使用Android 1.6,eclipse-V3.4.0。 在此先感謝

+0

看到我對另一個類似問題的回答:http:// stackoverflow。com/questions/4065379/how-to-create-a-bks-bouncycastle-format-java -keystore-that-c​​ontain-a-client -c/10026598#10026598 – Vipul 2013-01-28 19:25:13

回答

2

我不熟悉這個特定的庫。但是,下面是關於如何將作爲「jar」文件提供的庫包含到Android項目中的一般說明。

下載jar文件並將其放在工作站上的某個位置。您可能想要放入正在安裝它的項目的根目錄,或者可能要放在根目錄的'lib'目錄中。

在Eclipse中,選擇Project-> Properties,然後選擇Java Build Path。然後點擊Add External Jars,導航到你放置.jar文件的位置,選擇它並點擊Open。

現在鍵入或粘貼一些試圖使用jar中的類的代碼。如果幸運的話,一個燈泡圖標將出現在左邊界。點擊它會提示你將正確的Import語句添加到你的.java文件的頂部。

在這一點上仍然有些問題可能出錯。該庫可能會使用不是由Android提供的java。*或javax。*內容(它只是這些庫的一個子集)。它也可能有其他的庫依賴關係。還有其他原因可能導致.jar可能與Android平臺不兼容。

還要注意它會增加.apk的大小以適應新的內容。

+0

我試圖添加充氣城堡瓶子並嘗試使用getinstance來自secretKeyFactory但它拋出一個異常沒有這樣的算法 – Vamsi 2010-04-07 05:40:46

+0

這聽起來像是該庫的本地異常,而不是庫包含問題。 – 2010-04-07 10:01:45

5

您應該不需要明確添加BouncyCastle作爲提供者。正如你所說,它已經包含在Android中。

這就是我做得到BouncyCastle的AES加密,

SecretKeyFactory keyFac = SecretKeyFactory.getInstance("PBEWithSHA256And256BitAES-CBC-BC"); 

如果您在BouncyCastleProvider.java看你會用BouncyCastle的提供了一些其他密碼一起看到PBEWithSHA256And256BitAES-CBC-BC的參考。

+1

它引發異常NoSuchAlgorithm – Vamsi 2010-04-07 05:39:47

+1

奇怪。我不確定問題是什麼。以下是我運行的代碼,http://upm.svn.sourceforge.net/viewvc/upm/android/trunk/src/com/u17od/upm/crypto/EncryptionService.java?view=markup。適用於Android 1.5和2.1。 – Adrian 2010-04-07 10:54:49

+0

AES不是BouncyCastle提供的唯一加密算法。例如,BC是EC加密所必需的。 – 2015-10-01 17:42:18

1

你會需要編譯以不同的名稱公元前庫,因爲這將有一個衝突內置BC已經在Android的 - 重新編譯和引用作爲BC2或org.BouncyCastle2.x

8

或更好由於BC附帶的Android版本已經癱瘓並且老舊,因此仍然使用SpongyCastle

+5

這是真的嗎?你能比「老」更具體嗎?你能定義殘廢嗎?你所包含的SpongyCastle鏈接也沒有解釋。 – 2015-10-01 17:40:41

+0

對Sam的問題有何迴應? – vojta 2017-05-19 11:52:15

相關問題