我创建了一个简单的测试应用程序来测试Android上的SSL。该应用程序只有一个按钮,当单击该按钮时,应用程序尝试通过SSL加密连接将“Hello World”发送到我的测试服务器,然后服务器响应相同的短语。
首先,我使用openssl为我的服务器创建了一个测试密钥和测试证书。然后,我按照Crazy Bob的博客中显示的说明进行操作。我直接从Bouncy Castle的网站获取了Bouncy Castle提供程序,按照Crazy Bob的博客中显示的方式创建了受信任的密钥库,并且我认为在那一点上一切都正确。
当我尝试运行我的代码时,我得到了异常“IOException:Wrong version of key store.” 然后我在StackOverflow上找到了这个问题。建议我尝试使用旧版本的Bouncy Castle Providers而不是最新的bcprov-jdk15on-147.jar。我以此为基础继续前进,实际上尝试了从jdk13-146到jdk16-146的每个bcprovider。但每次都会得到相同的“IOExcpetion:wrong version of key store.” 异常。
然后我在StackOverflow上找到了另一个类似问题。有人通过使用512位大小的密钥而不是1024大小的密钥成功摆脱了那个异常。好吧,我尝试了一下,什么也没做到,但是还是出现了同样的异常。
所以现在我在这里,想知道下一步该怎么做。我的想法已经基本用完了,搜索结果也几乎没有了。
我的网络代码是Crazy Bob的代码的1对1副本,除此之外,应用程序只有处理按钮的活动类。我正在尝试在API级别7上实现这一点。
任何帮助将不胜感激。谢谢。
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > mycert.pem但是我在s_client中遇到了错误,请帮助我。我从Crazy Bob的博客中获取了该命令。 - M.A.Murali