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 数据包编号。

如果 bDeleteTRUE,微型端口驱动程序必须忽略此成员。

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 引用的默认键,除非为:

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)

另请参阅

DOT11_KEY_ALGO_TKIP_MIC

OID_DOT11_RESET_REQUEST

DOT11_CIPHER_ALGORITHM

OID_DOT11_CIPHER_DEFAULT_KEY

OID_DOT11_DESIRED_BSS_TYPE

DOT11_KEY_ALGO_CCMP

NDIS_OBJECT_HEADER