在Android应用程序中使用KeyStore.getInstance的NoSuchAlgorithmException

时间:2014-06-04 09:10:45

标签: java android ssl

我在android中编写程序用于与服务器通信,我使用SSL协议,当我编写此代码时

 KeyStore ks = KeyStore.getInstance( "JKS" );

我收到此错误

  

java.security.NoSuchAlgorithmException:KeyStore JKS实现   找不到

如何解决我的问题? 我的算法是JKS。

最好的问候

1 个答案:

答案 0 :(得分:8)

Android不支持JKS密钥库。但是,您可以将JKS密钥库转换为BouncyCastle BKS密钥库,它将起作用。

@edit

您将需要bcprov-jdk16-145.jar

keytool -importkeystore -srckeystore mytruststore.jks -destkeystore mytruststore.bks -srcstoretype JKS -deststoretype BKS -srcstorepass changeit -deststorepass changeit -provider org.bouncycastle.jce.provider.BouncyCastleProvider 

如果您的bcprov jar在另一个目录中,请添加-providerpath path。

代码取自:http://www.knowledgebit.appspot.com/zahangirbd/TopicView.action;jsessionid=E2BZt_6bp4uFFbMyq42gWg?id=56001