OFFLOAD_ALGO_INFO 结构 (ntddndis.h)

OFFLOAD_ALGO_INFO 结构指定用于安全关联的算法 (SA) 。

语法

typedef struct _OFFLOAD_ALGO_INFO {
  ULONG algoIdentifier;
  ULONG algoKeylen;
  ULONG algoRounds;
} OFFLOAD_ALGO_INFO, *POFFLOAD_ALGO_INFO;

成员

algoIdentifier

用于 SA 的机密性或完整性算法。

如果算法是保密算法 (也就是说,如果OFFLOAD_ALGO_INFO结构指定 ConfAlgo) , 则 algoIdentifier 可以是以下任何值:

OFFLOAD_IPSEC_CONF_NONE

不指定机密性算法。 用于 null 加密-即,当数据包未加密,但其 ESP 标头包含身份验证信息时。

OFFLOAD_IPSEC_CONF_DES

指定 DES 算法。

OFFLOAD_IPSEC_CONF_3_DES

指定 triple-DES 算法。

如果算法是完整性算法 (即,如果OFFLOAD_ALGO_INFO结构指定 IntegrityAlgo) ,algoIdentifier 可以是以下值之一:

OFFLOAD_IPSEC_INTEGRITY_NONE

不指定完整性算法。 在 ESP 标头不包含身份验证信息时使用。

OFFLOAD_IPSEC_INTEGRITY_MD5

指定键的 MD5 算法。

OFFLOAD_IPSEC_INTEGRITY_SHA

指定 SHA 1 算法。

algoKeylen

算法的密钥的长度(以字节为单位)。 密钥包含在 KeyMaţ 的缓冲区中,该缓冲区是 OFFLOAD_IPSEC_ADD_SA 结构中指定的可变长度数组。

如果在 中仅指定完整性算法 ( IntegrityAlgo) OFFLOAD_SECURITY_ASSOCIATION 结构中, algoKeylen 指示完整性算法的密钥长度,从 KeyMat 处缓冲区的开头开始。

如果同时指定完整性算法和保密算法 ( IntegrityAlgoConfAlgo) ,则完整性算法的 algoKeylen 指示完整性算法的密钥长度,从 KeyMat 处缓冲区的开头开始。 在本例中,机密性算法的 algoKeylen 指示机密性算法的密钥长度,从完整性算法的密钥末尾开始。

algoRounds

加密算法执行的四舍五入的转换数。

注意 此成员仅用于 IPsec 卸载版本 1
 

注解

OFFLOAD_ALGO_INFO结构指定 的 IntegrityAlgoConfAlgo保留 成员中的算法信息 OFFLOAD_SECURITY_ASSOCIATION 结构。

要求

要求
Header ntddndis.h (包括 Ndis.h)

另请参阅

OFFLOAD_IPSEC_ADD_SA

OFFLOAD_SECURITY_ASSOCIATION