security - 在同一 TCP 连接中使用不同的 TLS 记录版本

标签 security ssl

TLS 记录如下:

struct {
   ContentType type;
   ProtocolVersion version;
   uint16 length;
   opaque fragment[TLSPlaintext.length];
} TLSPlaintext;

在同一个TCP连接中使用不同的TLS记录版本是否合法 (例如 ClientHello 版本 3.2 (TLS 1.0) 和 ServerHello 3.2 (TLS 1.1))?

RFC(例如在 TLS 1.0 RFC 2246 中)是怎么说的?

谢谢

最佳答案

尝试在一个连接中使用一个协议(protocol)的两个版本在语义上是不合理的。 TLS“记录版本”不仅仅是关于记录本身,而是许多记录放在一起的语法,例如它们的顺序或长度,并且以错误的期望进入会让你陷入困境,不知道下一个在哪里记录甚至开始。

TCP 连接很便宜。如果您需要协商新的连接,最好这样做而不是试图将方钉强行插入圆孔。

关于security - 在同一 TCP 连接中使用不同的 TLS 记录版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634726/

相关文章:

php - 启用 ssl 后 Cron 作业停止工作

c# - 是否可以同时验证自签名证书和真实证书?

java - 使用PBKDF2 java解密和加密

javascript - 如何以编程方式识别邪恶的正则表达式?

javascript - 我可以避免向未登录的客户端提供所有 js 吗?

php - 将我的 wordpress 网址从 http 更改为 https,现在管理面板无法正常工作

javascript - 从 IFrame 更改父窗口的 URL

html - 分析页面,看看哪些资源没有在https中传输

java - keystore 中的 SSL 证书不起作用

java - 为什么在 SSL 连接期间不发送客户端证书? CXF 2.7.9