我正在开发一个连接到 Microsoft Exchange 的 Android 4.0 应用程序。
目前,我在处理自签名证书时遇到了困难,因为它们只是被拒绝了。我在 SO 上尝试了很多解决方案,构建了新的 SocketFactories 和 TrustManagers,但它们都没有提供真正的解决方案。
理想情况下,我想提示用户通知他们 SSL 证书无法验证,如果他们接受,我想下载提供的证书,将其存储并用于下一次连接。或者类似于这个过程的东西(比如 Firefox 的 SSL 例外列表)
不幸的是,我发现的唯一示例依赖于使用命令行工具将证书安装到设备上的 TrustStore 中。当客户下载它时,这无济于事。我只想要一个简单的接受/拒绝对话框。
我可以盲目地信任所有 SSL 证书,但我宁愿做一些更安全的事情。
有人能指出我正确的方向吗?我想做的甚至可能吗?如果无法接受/拒绝,那么盲目接受自签名证书是我能做到的最好的办法。
谢谢,汤姆