> 问答

v2手机版tls握手失败_人教版二年级上册月考语文

人阅读 2024-10-15 15:24:32电脑装机
广告 X
欧意最新版本

欧意最新版本

欧意最新版本app是一款安全、稳定、可靠的数字货币交易平台。

APP下载  官网地址

1.Ok使用过程中的TLS握手验证与HostName验证问题/accept-encoding问题

2.HTTPS加密(握手)过程

3.TLS协议的TLS握手协议

这个错误提示表明SSL握手失败了,错误原因是packet length too long(数据包长度过长)。

这种情况通常是由于客户端和服务器之间存在的某些网络问题,例如:

客户端和服务器之间的网络延迟过高,导致数据包传输过程中丢失或出错。

客户端和服务器之间的网络带宽不足,导致数据包无法及时传输,从而超过了系统的缓冲区大小。

SSL协议版本不匹配,客户端和服务器之间使用的SSL协议版本不一致,导致握手失败。

解决这个问题的方法可能有:

调整客户端和服务器之间的网络设置,例如增加带宽、降低延迟等等。

尝试使用更可靠的SSL协议版本,例如TLS 1.2或更高版本。

检查客户端和服务器之间的防火墙或代理设置,确保SSL数据包可以正常传输。

检查SSL证书和密钥配置是否正确。

Ok使用过程中的TLS握手验证与HostName验证问题/accept-encoding问题

自从TLS 1.2版本在2008年发布以来,服务器处于安全性考虑通常也只支持较高版本TLS,比如TLS1.2及以上,如果这些客户端用低版本TLS/SSL向服务器发起握手,会因为服务器不支持而直接失败。

HTTPS加密(握手)过程

当我们使用s来进行数据传输加密,身份校验的时候,HTTP 和 TCP 之间额外加了一层 SSL/TLS来做这部分工作(确定支持的TLS协议版本,建立连接并交互证书,验证其有效性,最后通过非对称加密的方式和服务器返回的证书公钥生成一个零时的秘钥用作后续通信时的对称加解密通信数据)。

SSL/TLS具体工作原理可查看此文

可能遇到的相关错误:

如果后台记录到类似日志,大多数情况下可通过上下文相关日志分析

1.用户自身网络状态是否良好,ip,country等信息也可以帮助分析

2.用户是否开启了***,是否使用了第三方代理抓包工具 ,通过其uuid追踪他的操作日志,查询是否为可疑用户

3.用户手机的型号与版本,已知部分低版本手机/某些特殊的三星手机,并不默认支持TLS协议,此时需要额外设置okclient或相关容错处理 ok-issue

4.server端支持的TLS协议版本是否过老或者过新?

个人认为大多数情况都是因为前两条原因导致的此问题,处理方式也可以仁者见仁智者见智:

1.做好网络状态判断后,告知用户retry即可

2.通过设置自定义sslSocketFactory和hostnameVerifier信任所有请求的验证 SO上的解决方案

类似于if (userSettedAcceptEncoding) return else doInternalUncompress,导致返回的response.body()为压缩过后的无意义二进制流。此时的解决方案:

1.去除accept-encoding header即可

2.自己写解压缩的Interceptor逻辑,但是非常不推荐此方法,自己有遇到有时work有时不work的情况,未深究。

TLS协议的TLS握手协议

第一步:客户端会发起一个hello client请求,请求中会携带TLS版本信息、加密套件候选列表、压缩算法候选列表以及一个随机数。

第二步:服务端收到请求以后也会给客户端发一个server hello请求,请求中会告诉客户端它选择的协议版本、加密套件、压缩算法以及一个随机数。

第三步:服务端会给客户端发一个server certificate请求,里面包含服务端的数字证书,用于客户端进行校验。

第四步:服务端会给客户端发一个server hello done告诉客户端信息已发送完毕。

第五步:客户端收到证书以后进行校验获取到服务端的公钥。

第六步:客户端会将自己的数字证书发给服务端用于校验。

第七步:客户端计算出一个随机数pre-master,然后用公钥进行加密发送给服务器端。

第八步:服务端和客户端都根据自己的随机数 对端的随机数 pre-master算出对称密钥,然后再根据对称密钥进行通信。

TLS 为传输层安全性协议,是 MySQL 在客户端与服务器之间进行加密连接的协议。TLS 有时被称为 SSL(安全套接层),但是 MySQL 实际上并不使用 SSL 协议进行加密连接,因为它的加密很弱。TLS 协议通过加密数据来确保在两个通信应用程序之间提供隐私和数据完整性,以便任何第三方都无法拦截通信。它还会验证对等方以验证其身份。通过在两个对等点之间提供安全的通信通道,TLS 协议可以保护消息的完整性并确保其不会被篡改。MySQL 支持多种 TLS 版本协议,此次测试使用 8.0 的 client 为 TLSv1.2。

从 wireshark 中看一下 TLS 握手的步骤:

LOT物联网

iot产品 iot技术 iot应用 iot工程

Powered By LOT物联网  闽ICP备2024036174号-1

联系邮箱:support1012@126.com