5

我知道这个特定的话题被问了很多次,但不幸的是,就我而言,他们都没有工作。这几天我一直在尝试让它进入功能状态,但每次都失败了,所以我终于来这里问了。

我在服务器上有一个带有自签名证书的网络服务。如果我在浏览器中输入地址,我可以访问 wsdl 文件。浏览器只是提醒我,证书存在一些问题。如果我点击继续,一切正常。遗憾的是,我对 SSL 知之甚少,因为这是我第一次使用 SSL 通信制作应用程序。在应用程序中,我只会得到异常“没有对等证书”或“未找到信任锚路径”取决于我使用的“解决方案”的类型。

我在 sslhopper.com 上运行了测试,并收到一条警告“证书在所有 Web 浏览器中都不受信任。您可能需要安装中间/链证书以将其链接到受信任的根证书。” 这是Android开发中的一个严重问题还是可以通过一些代码来解决?

所以我的问题实际上是,我如何在应用程序中执行“点击继续按钮”或任何使其实际连接到服务器的操作。在这种情况下,是证书本身有问题还是我在应用程序本身上做错了什么?

4

1 回答 1

1

如果您尝试进行客户端身份验证,则需要两件事:

  1. 颁发服务器证书的 CA 证书
  2. 您的应用程序的客户端证书。

您必须将 1. 放入信任库中,并将 2. 放入您的应用程序的密钥库中。示例代码需要一个 PCKS#12 作为密钥库,你有吗?给了你什么文件?在这一点上,阅读 JSSE 参考可能会很好,这样您就可以了解系统是如何工作的:

http://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html

于 2012-10-22T14:12:48.983 回答