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 处缓冲区的开头开始。
如果同时指定完整性算法和保密算法 ( IntegrityAlgo 和 ConfAlgo) ,则完整性算法的 algoKeylen 指示完整性算法的密钥长度,从 KeyMat 处缓冲区的开头开始。 在本例中,机密性算法的 algoKeylen 指示机密性算法的密钥长度,从完整性算法的密钥末尾开始。
algoRounds
加密算法执行的四舍五入的转换数。
注解
OFFLOAD_ALGO_INFO结构指定 的 IntegrityAlgo、 ConfAlgo 和 保留 成员中的算法信息 OFFLOAD_SECURITY_ASSOCIATION 结构。
要求
要求 | 值 |
---|---|
Header | ntddndis.h (包括 Ndis.h) |