这件事已经困扰我好几天了。我已经阅读了很多关于整个问题的其他问题,但仍然无法继续。
我创建了一个简单的测试应用程序,只是为了在 Android 上测试 SSL。该应用程序只有一个按钮,单击该按钮时,该应用程序会尝试通过 SSL 加密连接向我的测试服务器发送“Hello World”,然后它会以完全相同的短语进行响应。
首先,我使用 openssl 为我的服务器创建了一个测试密钥和测试证书。然后我一直按照Crazy Bob 的博客中的说明进行操作。我直接从 Bouncy Castle 的站点获得了 Bouncy Castle 提供程序,创建了一个受信任的密钥库,如 Crazy Bob 的博客上所示,并且我相信此时一切都正确。
当我尝试运行我的代码时,我得到了异常“IOException:错误版本的密钥库”。然后我在 StackOverflow 上找到了这个问题。有人建议我应该尝试使用较旧的 Bouncy Castle Providers 而不是最新的 bcprov-jdk15on-147.jar。我继续考虑这一点,实际上最终尝试了从 jdk13-146 到 jdk16-146 的每个 bcpprovider。仍然每次我得到相同的“IOExcpetion:错误版本的密钥库”。例外。
然后我在 StackOverflow 上发现了另一个关于类似问题的问题。有人设法通过使用 512 位大小的密钥而不是 1024 位大小的密钥来摆脱该异常。好吧,我试了一下,什么也没做,但同样的例外。
所以我现在在这里,想知道下一步该怎么做。我几乎没有想法和谷歌搜索结果。
我的网络代码是疯狂鲍勃代码的一对一副本,除此之外,应用程序只有处理按钮的活动类。我正在尝试在 API 级别 7 上实现这一点。
任何帮助将不胜感激。谢谢。