HTTP_REQUEST_PROPERTY_SNI结构(http.h)

用于检查客户端在打开 TLS 连接时请求的域。

Syntax

typedef struct _HTTP_REQUEST_PROPERTY_SNI {
       WCHAR Hostname[HTTP_REQUEST_PROPERTY_SNI_HOST_MAX_LENGTH + 1];
       ULONG Flags;
} HTTP_REQUEST_PROPERTY_SNI, *PHTTP_REQUEST_PROPERTY_SNI;

Members

Hostname[HTTP_REQUEST_PROPERTY_SNI_HOST_MAX_LENGTH + 1]

Flags

类型: ULONG

标识如何使用 http.sys SNI 进行此连接;标志的值为:

HTTP_REQUEST_PROPERTY_SNI_FLAG_SNI_USED (0x1)。 SNI 值用于在此请求握手期间标识终结点的一部分。 如果 TLS 握手中包含 SNI,但仍 http.sys 使用 IP 终结点进行查找,则不会设置此值。 HTTP_REQUEST_PROPERTY_SNI_FLAG_NO_SNI (0x2)。 客户端不包含 SNI。 如果设置了此标志,则无法设置 HTTP_REQUEST_PROPERTY_SNI_FLAG_SNI_USED

注解

服务器名称指示(SNI)是 TLS 客户端 Hello 的一部分,客户端从服务器请求特定主机名。 主机通常从单个服务器为多个域提供服务,并且会定期为不同的域使用不同的证书,这意味着他们需要知道 SNI 才能决定用于 TLS 握手的证书。

要求

Requirement 价值
Header http.h