在实现基于VpnService的HTTPS代理应用程序时的TLS握手TLSv1

时间:2018-10-07 10:44:34

标签: android ssl

我正在Android上实现VpnService应用程序,以执行一些HTTPS代理工作。连接到HTTPS代理服务器后,得到HTTP/1.1 200 Connection established响应,我将应用程序数据发送到代理服务器。
问题是所有应用程序的TLS客户端问候都使用TLSv1版本,而不是TLSv1.2版本。几乎所有网站都返回TLSv1 Record Layer: Alert (Level: Fatal, Description: Protocol Version),并且TLS握手失败。

是否有任何机制会影响应用程序在TCP握手和TLS握手之间选择TLS版本?我该如何解决。

更新:我为OkHttp添加了connectionSpecs(Collections.singletonList(ConnectionSpec.RESTRICTED_TLS))配置,但TLS握手仍然是tcpdump中的TLSv1。

设备:Mi Mix2,LineageOS(Android 8.1.0)
测试应用程序:OkHttp Client,Chrome

Here is the capture info in Wireshark

0 个答案:

没有答案