浏览器在哪里将SSL会话ID存储在数据包中?

问题描述 投票:0回答:1

我想创建一个可以通过SSL / TLS连接的Web服务器。

因为HTTPS协议是无状态的,所以我假设每次浏览器连接到服务器时它都会进行握手。每当它连接到同一个客户端浏览器并使用前握手中的相同信息时,我想避免重新整理。

要使服务器识别它是与先前浏览器的重新连接,应使用SSL会话ID。我在哪里可以找到数据包中的SSL会话ID?

为了让服务器知道它是一个重新连接,我认为ID应该在数据包中(即TCP头)。我错了吗?

我从头开始制作服务器,所以我没有使用任何库。我正在直接操纵数据包。我已经为操作数据包创建了类。并且TLS层位于TCP层之上,因此我不需要太多努力来访问TLS层数据。我看了'记录层'数据结构,但我找不到会话ID。它在哪里?

我已经完成了HTML服务器部分,我想添加SSL / TLS功能。

我知道如何完成hello协议和握手。我想知道在握手之后,如何通过以下主要数据包中的服务器知道受损的SSL会话ID。

session ssl https webserver tls1.2
1个回答
0
投票

我在回答我自己的问题。我认为我的假设是错误的。我认为hello协议和其他方法后来会使用不同的连接。

我的新命题是“即使在HTTPS协议中,也会在从握手到一定数量的数据传输期间保持连接。这是https传输的一个单元。因此每个https连接都将从hello协议开始。”

因此,每次建立https连接时,服务器都将知道来自hello协议的会话ID,并将在已建立的会话中查找id。

我没有发现任何明确的提及。但是从我收集的信息中,我得出了这样的结论。如果有人知道明确答案,请在此发布。

© www.soinside.com 2019 - 2024. All rights reserved.