我正在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