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結構指定 IntegrityAlgo) ,algoIdentifier 可以是下列其中一個值:
OFFLOAD_IPSEC_INTEGRITY_NONE
不指定完整性演算法。 當 ESP 標頭不包含驗證資訊時使用。
OFFLOAD_IPSEC_INTEGRITY_MD5
指定索引鍵 MD5 演算法。
OFFLOAD_IPSEC_INTEGRITY_SHA
指定 SHA 1 演算法。
algoKeylen
演算法之索引鍵的長度,以位元組為單位。 索引鍵包含在 KeyMat ̧ 的緩衝區中,這是 在 OFFLOAD_IPSEC_ADD_SA 結構中指定的可變長度陣列。
如果在 中只指定完整性演算法 ( IntegrityAlgo) OFFLOAD_SECURITY_ASSOCIATION 結構,algoKeylen 會指出完整性演算法的密鑰長度,從 KeyMat 的緩衝區開頭開始。
如果指定完整性和機密性演演算法 ( IntegrityAlgo 和 ConfAlgo) ,則完整性演算法的 algoKeylen 表示完整性演算法的密鑰長度,從 KeyMat 緩衝區的開頭開始。 在此情況下,機密性演算法的 algoKeylen 表示機密性演算法的密鑰長度,從完整性演算法的密鑰結尾開始。
algoRounds
加密演演算法執行的轉換數目會四捨五入。
備註
OFFLOAD_ALGO_INFO 結構會指定 IntegrityAlgo、 ConfAlgo 和 保留 成員中的演算法資訊 OFFLOAD_SECURITY_ASSOCIATION 結構。
規格需求
需求 | 值 |
---|---|
標頭 | ntddndis.h (包括 Ndis.h) |