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

指定三重 DES 算法。

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

OFFLOAD_IPSEC_INTEGRITY_NONE

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

OFFLOAD_IPSEC_INTEGRITY_MD5

指定键型 MD5 算法。

OFFLOAD_IPSEC_INTEGRITY_SHA

指定 SHA 1 算法。

algoKeylen

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

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

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

algoRounds

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

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

言论

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

要求

要求 价值
标头 ntddndis.h (include Ndis.h)

另请参阅

OFFLOAD_IPSEC_ADD_SA

OFFLOAD_SECURITY_ASSOCIATION