esi*_*ver 6 java ssl android ios
根据POODLE漏洞的披露,Google发表以下声明:
为了解决HTTPS服务器中的错误,浏览器将使用旧协议版本(包括SSL 3.0)重试失败的连接
DefaultHttpClient Java库和Objective C NSURLConnection类也是如此吗?我相信答案是"不",但我想仔细检查.
经过更多测试后完全编辑我的答案,HttpUrlConnection 和 NSURLConnection 似乎都使用较旧的 SSLv3 连接重试失败的 TLS 连接。不管是好是坏,这是为了向后兼容错误配置的服务器而特意设计的功能,并且在大多数地方的大多数参考文档中都有记录,或者您必须深入研究本机代码源。我原来的帖子是不正确的,因为我从未跟踪 Oracle 的更改以解决本机 Android 代码中的此问题。 http://www.oracle.com/technetwork/java/javase/overview/tlsreadme2-176330.html
一些文档:
HttpUrl连接
TLS Intolerance Support
This class attempts to create secure connections using common TLS extensions and SSL deflate compression. Should that fail, the connection will be retried with SSLv3 only.
Run Code Online (Sandbox Code Playgroud)
好的http
OkHttp initiates new connections with modern TLS features (SNI, ALPN), and falls back to SSLv3 if the handshake fails.
Run Code Online (Sandbox Code Playgroud)
综上所述,我认为在 iOS 中设置允许的最低 TLS 版本的能力和在 Android 中分别指定支持的协议版本的能力确实使得这在应用程序中不再是问题。