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