【问题标题】:NoSuchAlgorithmException with KeyStore.getInstance in android applicationandroid 应用程序中带有 KeyStore.getInstance 的 NoSuchAlgorithmException
【发布时间】:2014-06-04 09:10:44
【问题描述】:

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

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

我收到这个错误

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

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

最好的问候

【问题讨论】:

标签: java android ssl


【解决方案1】:

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

@编辑

您将需要 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 路径。

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

【讨论】:

  • 你能告诉我如何将 JKS 密钥库转换为 BouncyCastle? ,谢谢
  • 在我们的客户程序中?
  • 使用 keytool 转换 JKS->BKS 并将新的 .bks 密钥库添加到 res/raw 文件夹并使用它来初始化 KeyStore
  • 谢谢,我写了客户端应用程序,我必须自己或编写服务器程序的人更改此解决方案?
  • 你有那个 .jks 密钥库吗?如果是,请自己做,如果不是,您怎么知道要使用 jks 密钥库?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-26
  • 2020-09-21
  • 1970-01-01
相关资源
最近更新 更多