Android 证书问题,求指导,万分感谢。

mexican_ok 2013-12-20 03:13:09
报错提示:java.io.IOException: Wrong version of key store

在代码中加入了证书验证,建立SSL通道,代码如下:
SSLContext ctx = SSLContext.getInstance("TLS");
KeyManagerFactory kmf = KeyManagerFactory.getInstance("X509");
TrustManagerFactory tmf = TrustManagerFactory.getInstance("X509");
KeyStore kks = KeyStore.getInstance("BKS");
KeyStore tks = KeyStore.getInstance("BKS");
kks.load(aContext.getAssets().open("push.keystore"), "123456".toCharArray());
tks.load(aContext.getAssets().open("push.bks"), "123456".toCharArray());
kmf.init(kks, "123456".toCharArray());
tmf.init(tks);
ctx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
return ctx.getSocketFactory();

JDK 版本是java version "1.6.0_25"

为了生成BKS证书文件,采取了如下操作:
1.下载 bcprov-ext-jdk15on-146.jar,复制到C:\Program Files\Java\jdk1.6.0_43\jre\lib\ext
2.配置bcprov,在 jdk_home\jre\lib\security\目录中找到 java.security 在内容增加一行
security.provider.11=org.bouncycastle.jce.provider.BouncyCastleProvider
3.生成android平台的证书
keytool -importcert -keystore test.bks -file test.cert -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider

不知道是不是JDK版本和bcprov-ext-jdk15on-146.jar的版本是不是不对应
纠结了好久了,望大神指点,多谢多谢!!!
...全文
744 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
鱼包子Ray 2016-05-23
  • 打赏
  • 举报
回复
jar文件的版本不对,#1 保证jre和bcprov-jdk16-146.jar要一致,都如都是jdk16的; #2 bcprov-jdk16-146.jar的版本不对,最好是146的,其他版本不一定管用
zx302560625 2016-03-18
  • 打赏
  • 举报
回复
你好,我出现的问题和你一样 请教一下 是怎么解决的,我的qq 302560625,跪求
dayyourthree 2014-10-22
  • 打赏
  • 举报
回复
表示可以用了,那句话贴在10之后就可以了。
  • 打赏
  • 举报
回复
楼主解决了么有?纠结了好久了的一个问题。
LoveVirimy 2014-05-13
  • 打赏
  • 举报
回复
楼主解决了吗?~~~我跟你的问题一模一样~~我试了好多个bcp的版本了~都不行呀!

80,473

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧