我想BouncyCastle的添加爲在Windows XP專業版安全提供這樣我就可以用它來一些證書添加到每個指令here一個Android應用程序。不幸的是,我無法得到它來添加提供者。BouncyCastle的安裝問題
我有:
- 下載提供商
C:\Program Files\Java\jre6\lib\ext\
。 - 增加
C:\Program Files\Java\jre6\lib\ext\bcprov-jdk16-146.jar
到%CLASSPATH%
。 - 添加
security.provider.7=org.bouncycastle.jce.provider.BouncyCastleProvider
到java.security(7爲在次序中的下一INT)。
當我運行:
keytool -import -v -trustcacerts -alias 0 -file mycert.crt -keystore mystore.bks -storetype BKS -providerName org.bouncycastle.jce.provider.BouncyCastleProvider -storepass mypassword
我收到以下錯誤信息:
keytool error: java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider
我也嘗試動態地添加它:
import java.security.Provider;
import java.security.Security;
import java.util.Enumeration;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
public class BouncyCastleMain {
public static void main(String[] args) throws Exception {
Security.addProvider(new BouncyCastleProvider()); // add it
try { // list them out
Provider p[] = Security.getProviders();
for (int i = 0; i < p.length; i++) {
System.out.println(p[i]);
for (Enumeration<?> e = p[i].keys(); e.hasMoreElements();)
System.out.println("\t" + e.nextElement());
}
} catch (Exception e) {
System.out.println(e);
}
}
}
起初我編譯java類時出現訪問錯誤,但將其更改爲每s的警告偷菜here。現在,當我運行代碼時,它會在提供程序列表中顯示BouncyCastle,但在程序完成後它不會停留。
我敢肯定,它必須是可行的,但我在陷入困境如何讓安裝這個傢伙足夠長的時間來運行密鑰工具使用它。是否有可能通過java API運行keytool,或者是否有一些我錯過了的步驟可以讓供應商堅持下去?
謝謝!
原來我安裝了6個不同的jres/jdks!我從以前的員工那裏繼承了這臺PC,只知道其中兩個。驗證正確的路徑修復它。謝謝! – 2011-05-10 21:17:53
我試圖獎勵賞金,它說我不得不等待21個小時。我想他們想確保有一整天的時間來確保一切都是同步的。不要擔心,我微不足道的+250很快就會讓你的56K更高。 :) – 2011-05-10 21:20:04
優秀!很高興它是固定的。 – erickson 2011-05-10 21:47:26