【发布时间】:2012-12-29 13:08:30
【问题描述】:
我正在尝试使用HttpsURLConnection 和我自己的信任管理器设置 SSL(使用 SSL 恢复)。
我只能执行 ssl 握手和连接。 没有 SSL 恢复 - 以前的会话永远不会被重复使用!
我到处搜索,但没有运气。 所有答案都参考 HttpClient(这不是一个选项)。
我的设置如下:
我创建了一个 SSL 上下文以供以后使用。
然后,我使用此 SSL 上下文创建一个 SSL 工厂,我还将其存储以供所有连接使用。
我开始了一个一切顺利的连接: 我收到了
sessionID,完成了完整的握手并将连接发送到服务器。- 一分钟后,我开始另一个连接。由于一些奇怪的原因,这个连接没有发送我之前的
sessionID。 我打印SSLContext的会话 - 最后一个会话仍然存在并且有效。 由于某种原因,这个新连接没有使用它,因此创建了另一个会话并将其添加到会话的缓存中。
我在 2 个不同的设备上同时尝试了 android 版本 2.3 和 4.1。
根据许多谷歌搜索结果,我什至尝试按照一些用户的建议添加 Keep-Alive,以及导致没有不同结果的其他巫术。
有人遇到过这个吗?我有什么遗漏吗?
什么可能导致我的连接不使用上一个会话?
提前致谢!
【问题讨论】: