DOT11_CIPHER_DEFAULT_KEY_VALUE (Compact 7)
3/12/2014
This structure defines a default cipher key or per-station default cipher key that will be added to or deleted from the key tables on the 802.11 station.
Syntax
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;
Members
Header
The type, revision, and size of the DOT11_CIPHER_DEFAULT_KEY structure. This member is formatted as an NDIS_OBJECT_HEADER structure.The miniport driver must set the members of Header to the following values:
Type
This member must be set to NDIS_OBJECT_TYPE_DEFAULT
Revision
This member must be set to DOT11_CIPHER_DEFAULT_KEY_VALUE_REVISION_1
Size
This member must be set to sizeof(DOT11_CIPHER_DEFAULT_KEY_VALUE)
uKeyIndex
The index of the key in the 802.11 station’s default key array.For standard 802.11 cipher algorithms, uKeyIndex must be from 0 through 3. For a cipher algorithm developed by an IHV, uKeyIndex can be any value within the range that is defined by the IHV.
The IEEE 802.11-1999 standard defines default key index values from 1 through 4. The value x specified by this member maps to the 802.11 default key index (x + 1).
AlgorithmId
The value of the cipher algorithm that uses this key. For more information about values for cipher algorithms, see DOT11_CIPHER_ALGORITHM.The miniport driver must ignore this member if bDelete is TRUE.
MacAddr
The media access control (MAC) address, which identifies the default key table to add or remove the key.If the dot11DesiredBSSType management information base (MIB) object is set to dot11_BSS_type_infrastructure, the 802.11 station adds or removes the key from the default key table regardless of the value of the MacAddr member. If the key is dynamically obtained from the access point (AP) the station is associated with, the MacAddr member will contain the AP’s MAC address. Otherwise, MacAddr will have a value of 0x000000000000.
If the dot11DesiredBSSType management information base (MIB) object is set to dot11_BSS_type_ independent, the 802.11 station must add or remove the key in the following way:
- If the value of this member is 0x000000000000, the 802.11 station adds or removes the key from the default key table.
- If the value of this member is a valid unicast MAC address, the 802.11 station adds or removes the key from the per-station default key table for the peer station in an independent BSS (IBSS) network that has a MAC address equal to the value of MacAddr.
- If a per-station default key table does not exist for the value of MacAddr, the 802.11 station must use any unused per-station default key table.
For more information about the dot11DesiredBSSType MIB object, see OID_DOT11_DESIRED_BSS_TYPE.
- bDelete
A Boolean value that specifies whether the miniport driver should delete the default key. If set to TRUE, the miniport driver must delete the default key that is referenced by uKeyIndex. If set to FALSE, the miniport driver must add or update the default key that is referenced by uKeyIndex.
bStatic
A Boolean value that specifies whether the miniport driver should delete the default key following a connection or roaming operation.If set to FALSE, the miniport driver must delete the default key that is referenced by uKeyIndex when the 802.11 station:
- Disconnects from the basic service set (BSS) network
- Roams to a new BSS network
- Reconnects to the same BSS network
If set to TRUE, the default key referenced by uKeyIndex must not be deleted unless it is:
- Explicitly deleted through a set request of OID_DOT11_CIPHER_DEFAULT_KEY
- Implicitly deleted through a method request of OID_DOT11_RESET_REQUEST
- usKeyLength
The length, in bytes, of the key material in the ucKey array
ucKey
The key material.If AlgorithmId is set to DOT11_CIPHER_ALGO_TKIP, the ucKey array defines the key material through the DOT11_KEY_ALGO_TKIP_MIC structure.
If AlgorithmId is set to DOT11_CIPHER_ALGO_CCMP, the ucKey array defines the key material through the DOT11_KEY_ALGO_CCMP structure.
Remarks
If the bDelete member is TRUE, the following members are not valid and must be ignored:
- bStatic
- usKeyLength
- ucKey
Requirements
Header |
windot11.h |
See Also
Reference
Native 802.11 Data Types
NDIS_OBJECT_HEADER
OID_DOT11_DESIRED_BSS_TYPE
OID_DOT11_CIPHER_DEFAULT_KEY
OID_DOT11_RESET_REQUEST
DOT11_KEY_ALGO_TKIP_MIC
DOT11_KEY_ALGO_CCMP
Native 802.11 Wireless LAN Reference