IPSEC_SA_BUNDLE1 结构 (ipsectypes.h)

IPSEC_SA_BUNDLE1 结构用于存储有关 IPsec 安全关联的信息, (SA) 捆绑包。 IPSEC_SA_BUNDLE0 可用。

 

语法

typedef struct IPSEC_SA_BUNDLE1_ {
  UINT32                 flags;
  IPSEC_SA_LIFETIME0     lifetime;
  UINT32                 idleTimeoutSeconds;
  UINT32                 ndAllowClearTimeoutSeconds;
  IPSEC_ID0              *ipsecId;
  UINT32                 napContext;
  UINT32                 qmSaId;
  UINT32                 numSAs;
  IPSEC_SA0              *saList;
  IPSEC_KEYMODULE_STATE0 *keyModuleState;
  FWP_IP_VERSION         ipVersion;
  union {
    UINT32 peerV4PrivateAddress;
  };
  UINT64                 mmSaId;
  IPSEC_PFS_GROUP        pfsGroup;
  GUID                   saLookupContext;
  UINT64                 qmFilterId;
} IPSEC_SA_BUNDLE1;

成员

flags

以下值的组合。

IPsec SA 捆绑标志 含义
IPSEC_SA_BUNDLE_FLAG_ND_SECURE
协商发现是在安全圈中启用的。
IPSEC_SA_BUNDLE_FLAG_ND_BOUNDARY
在不受信任的外围区域中启用协商发现。
IPSEC_SA_BUNDLE_FLAG_ND_PEER_NAT_BOUNDARY
对等节点位于不受信任的外围区域圈中,网络地址转换 (NAT) 。 与协商发现一起使用。
IPSEC_SA_BUNDLE_FLAG_GUARANTEE_ENCRYPTION
指示这是需要有保证加密的连接的 SA。
IPSEC_SA_BUNDLE_FLAG_NLB
指示这是 NLB 服务器的 SA。
IPSEC_SA_BUNDLE_FLAG_NO_MACHINE_LUID_VERIFY
指示此 SA 应绕过计算机 LUID 验证。
IPSEC_SA_BUNDLE_FLAG_NO_IMPERSONATION_LUID_VERIFY
指示此 SA 应绕过模拟 LUID 验证。
IPSEC_SA_BUNDLE_FLAG_NO_EXPLICIT_CRED_MATCH
指示此 SA 应绕过显式凭据句柄匹配。
IPSEC_SA_BUNDLE_FLAG_ALLOW_NULL_TARGET_NAME_MATCH
允许使用对等名称构成的 SA 携带没有关联对等目标的流量。
IPSEC_SA_BUNDLE_FLAG_CLEAR_DF_ON_TUNNEL
清除 IPsec 隧道数据包的外部 IP 标头上的 DontFragment 位。 此标志仅适用于隧道模式 SA。
IPSEC_SA_BUNDLE_FLAG_ASSUME_UDP_CONTEXT_OUTBOUND
将此 SA 与没有关联的 IPsec-NAT-shim 上下文的出站连接上的数据包匹配时,可以使用默认封装端口 (4500 和 4000) 。
IPSEC_SA_BUNDLE_FLAG_ND_PEER_BOUNDARY
对等方已启用协商发现,并且位于外围网络上。
IPSEC_SA_BUNDLE_FLAG_SUPPRESS_DUPLICATE_DELETION
禁止重复的 SA 删除逻辑。 添加出站 SA 时,内核会执行 THis 逻辑,以防止不必要的重复 SA。
IPSEC_SA_BUNDLE_FLAG_PEER_SUPPORTS_GUARANTEE_ENCRYPTION
指示对等计算机支持为需要有保证加密的连接协商单独的 SA。

lifetime

捆绑包中由 IPSEC_SA_LIFETIME0指定的所有 AS 的生存期。

idleTimeoutSeconds

超时(以秒为单位),之后捆绑包中的 SA 将由于流量处于非活动状态 (空闲) 并过期。

ndAllowClearTimeoutSeconds

超时(以秒为单位),在此之后,IPsec SA 应停止接受明文传入的数据包。

用于协商发现。

ipsecId

指向包含可选 IPsec 标识信息的 IPSEC_ID0 结构的指针。

napContext

网络接入点 (NAP) 对等凭据信息。

qmSaId

IPsec 在选择要过期的 SA 时使用的 SA 标识符。 对于 IPsec SA 对,在启动计算机和响应计算机之间以及入站和出站 SA 捆绑包之间的 qmSaId 必须相同。 对于不同的 IPsec 对, qmSaId 必须不同。

numSAs

捆绑包中的 SA 数。 唯一可能的值为 1 和 2。 仅在指定 AH 和 ESP SA 时使用 2。

saList

捆绑包中的 IPsec SA 数组。 对于 AH 和 ESP SA,为 ESP SA 使用索引 0,为 AH SA 使用索引 1。

有关详细信息 ,请参阅IPSEC_SA0

keyModuleState

IPSEC_KEYMODULE_STATE0指定的可选密钥模块特定信息。

ipVersion

FWP_IP_VERSION指定的 IP 版本。

peerV4PrivateAddress

FWP_IP_VERSION_V4ipVersion 时可用。 如果对等方位于 NAT 设备后面,则此成员存储对等方的专用地址。

mmSaId

使用此 ID 将此 IPsec SA 与生成它的 IKE SA 相关联。

pfsGroup

指定是否为此 SA 启用了快速模式完美向前保密 (PFS) ,如果是,则包含用于 PFS 的 Diffie-Hellman 组。

有关详细信息 ,请参阅IPSEC_PFS_GROUP

saLookupContext

SA 查找上下文,从 SA 传播到流经该 SA 的数据连接。 它可供任何使用 Winsock API WSAQuerySocketSecurity 函数查询套接字安全属性的应用程序使用,从而允许应用程序获取其连接的详细 IPsec 身份验证信息。

qmFilterId

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
标头 ipsectypes.h

另请参阅

FWP_IP_VERSION

IPSEC_KEYMODULE_STATE0

IPSEC_PFS_GROUP

IPSEC_SA0

IPSEC_SA_LIFETIME0

Windows 筛选平台 API 结构