带有 SSL 的 Android 应用程序

Mic*_*dek 5 ssl android self-signed ssl-certificate

我知道这个特定主题被问过很多次,但不幸的是,在我的情况下,他们都没有工作。这几天我一直在努力让它达到功能状态,但每次都失败了,所以我终于来这里问了。

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

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

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

Nik*_*kov 1

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

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

您必须将 1. 放入您的应用程序的信任存储库中,并 2. 放入密钥库中。示例代码需要 PCKS#12 作为密钥库,您有吗?您收到了什么文件?此时,最好阅读 JSSE 参考资料,以便您了解系统的工作原理:

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