DOT11_CIPHER_DEFAULT_KEY_VALUE 结构 (windot11.h)
重要
本机 802.11 无线 LAN 接口在 Windows 10 及更高版本中已弃用。 请改用 WLAN 设备驱动程序接口 (WDI) 。 有关 WDI 的详细信息,请参阅 WLAN 通用 Windows 驱动程序模型。
DOT11_CIPHER_DEFAULT_KEY_VALUE 结构定义默认密码密钥或每个工作站的默认密码密钥,该密钥将添加到 802.11 工作站上的密钥表或从其中删除。 有关这些密码密钥类型的详细信息,请参阅 802.11 密码密钥类型。
语法
typedef struct DOT11_CIPHER_DEFAULT_KEY_VALUE {
NDIS_OBJECT_HEADER Header;
ULONG uKeyIndex;
DOT11_CIPHER_ALGORITHM AlgorithmId;
DOT11_MAC_ADDRESS MacAddr;
BOOLEAN bDelete;
BOOLEAN bStatic;
USHORT usKeyLength;
UCHAR ucKey[1];
} DOT11_CIPHER_DEFAULT_KEY_VALUE, *PDOT11_CIPHER_DEFAULT_KEY_VALUE;
成员
Header
DOT11_CIPHER_DEFAULT_KEY_VALUE 结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。
微型端口驱动程序必须将 Header 的成员设置为以下值:
类型
此成员必须设置为 NDIS_OBJECT_TYPE_DEFAULT。
修订
此成员必须设置为 DOT11_CIPHER_DEFAULT_KEY_VALUE_REVISION_1。
大小
此成员必须设置为 sizeof(DOT11_CIPHER_DEFAULT_KEY_VALUE)
。
有关这些成员的详细信息,请参阅 NDIS_OBJECT_HEADER。
uKeyIndex
802.11 工作站的默认键数组中的键的索引。
对于标准 802.11 密码算法, uKeyIndex 必须介于 0 到 3。 对于 IHV 开发的加密算法, uKeyIndex 可以是 IHV 定义的范围内的任何值。
对于 BIP,uKeyIndex 必须为 4 或 5。
IEEE 802.11-2012 标准定义了从 1 到 4 的默认键索引值。 此成员指定的值 x 映射到 802.11 默认键索引 (x + 1) 。
AlgorithmId
使用此密钥的密码算法的值。 有关密码算法的值的详细信息,请参阅 DOT11_CIPHER_ALGORITHM。
对于 BIP,应将其设置为 DOT11_CIPHER_ALGO_BIP 以预先设置初始 IGTK 数据包编号。
如果 bDelete 为 TRUE,微型端口驱动程序必须忽略此成员。
MacAddr
媒体访问控制 (MAC) 地址,该地址标识要添加或删除密钥的默认密钥表。
如果 dot11DesiredBSSType 管理信息基 (MIB) 对象设置为 dot11_BSS_type_infrastructure,则 802.11 工作站将添加或删除默认键表中的键,而不考虑 MacAddr 成员的值。 如果从与工作站关联的接入点 (AP) 动态获取密钥, 则 MacAddr 成员将包含 AP 的 MAC 地址。 否则, MacAddr 的值为 0x000000000000。
如果将 dot11DesiredBSSType 管理信息库 (MIB) 对象设置为 dot11_BSS_type_independent,则 802.11 工作站必须按以下方式添加或删除密钥:
如果此成员的值为 0x000000000000,则 802.11 工作站会添加或删除默认键表中的键。 当 NIC 处于可扩展接入点 (ExtAP) OP 模式时,此值为零。
如果此成员的值为有效的单播 MAC 地址,则 802.11 工作站会在 MAC 地址等于 MacAddr 值的独立 BSS (IBSS) 网络中为对等站的每站默认密钥表添加或删除密钥。
如果 MacAddr 的值不存在每站默认键表,则 802.11 工作站必须使用任何未使用的每个工作站默认键表。
有关 dot11DesiredBSSType MIB 对象的详细信息,请参阅 OID_DOT11_DESIRED_BSS_TYPE。
bDelete
一个布尔值,指定微型端口驱动程序是否应删除默认键。
如果设置为 TRUE,微型端口驱动程序必须删除 uKeyIndex 引用的默认密钥。 如果设置为 FALSE,微型端口驱动程序必须添加或更新 uKeyIndex 引用的默认键。
bStatic
一个布尔值,指定微型端口驱动程序是否应在连接或漫游操作后删除默认键。
如果设置为 FALSE,则微型端口驱动程序必须删除 uKeyIndex 在 802.11 工作站引用的默认密钥:
- 断开与 BSS) 网络 (基本服务集的连接。
- 漫游到新的 BSS 网络。
- 重新连接到同一 BSS 网络。
如果设置为 TRUE,则不得删除 uKeyIndex 引用的默认键,除非为:
- 通过 OID_DOT11_CIPHER_DEFAULT_KEY集请求显式删除。
- 通过 OID_DOT11_RESET_REQUEST 的方法请求隐式删除。
usKeyLength
ucKey 数组中密钥材料的长度(以字节为单位)。
ucKey[*]
密钥材料。
如果将 AlgorithmId 设置为 DOT11_CIPHER_ALGO_TKIP, 则 ucKey 数组通过 DOT11_KEY_ALGO_TKIP_MIC 结构定义密钥材料。
如果将 AlgorithmId 设置为 DOT11_CIPHER_ALGO_CCMP, 则 ucKey 数组通过 DOT11_KEY_ALGO_CCMP 结构定义密钥材料。
如果将 AlgorithmId 设置为 DOT11_CIPHER_ALGO_BIP, 则 ucKey 数组通过 DOT11_KEY_ALGO_BIP 结构定义密钥材料。
ucKey[1]
密钥材料。
如果将 AlgorithmId 设置为 DOT11_CIPHER_ALGO_TKIP, 则 ucKey 数组通过 DOT11_KEY_ALGO_TKIP_MIC 结构定义密钥材料。
如果将 AlgorithmId 设置为 DOT11_CIPHER_ALGO_CCMP, 则 ucKey 数组通过 DOT11_KEY_ALGO_CCMP 结构定义密钥材料。
如果将 AlgorithmId 设置为 DOT11_CIPHER_ALGO_BIP, 则 ucKey 数组通过 DOT11_KEY_ALGO_BIP 结构定义密钥材料。
注解
如果 bDelete 成员为 TRUE,则以下成员无效,必须忽略:
- bStatic
- usKeyLength
- ucKey
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 8 及更高版本的 Windows 操作系统。 |
标头 | windot11.h (包括 Ndis.h) |