estructura DOT11_CIPHER_DEFAULT_KEY_VALUE (windot11.h)
Importante
La interfaz LAN inalámbrica nativa 802.11 está en desuso en Windows 10 y versiones posteriores. En su lugar, use la interfaz del controlador de dispositivos WLAN (WDI). Para obtener más información sobre WDI, consulta Modelo de controlador universal de Windows WLAN.
La estructura de DOT11_CIPHER_DEFAULT_KEY_VALUE define una clave de cifrado predeterminada o una clave de cifrado predeterminada por estación que se agregará o eliminará de las tablas de claves de la estación 802.11. Para obtener más información sobre estos tipos de clave de cifrado, vea 802.11 Tipos de clave de cifrado.
Sintaxis
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;
Miembros
Header
Tipo, revisión y tamaño de la estructura DOT11_CIPHER_DEFAULT_KEY_VALUE. Este miembro tiene formato de estructura NDIS_OBJECT_HEADER .
El controlador de minipuerto debe establecer los miembros de Header en los valores siguientes:
Tipo
Este miembro debe establecerse en NDIS_OBJECT_TYPE_DEFAULT.
Revisión
Este miembro debe establecerse en DOT11_CIPHER_DEFAULT_KEY_VALUE_REVISION_1.
Size
Este miembro debe establecerse en sizeof(DOT11_CIPHER_DEFAULT_KEY_VALUE)
.
Para obtener más información sobre estos miembros, consulte NDIS_OBJECT_HEADER.
uKeyIndex
Índice de la clave en la matriz de claves predeterminada de la estación 802.11.
Para los algoritmos de cifrado estándar 802.11, uKeyIndex debe estar comprendido entre 0 y 3. Para un algoritmo de cifrado desarrollado por un IHV, uKeyIndex puede ser cualquier valor dentro del intervalo definido por el IHV.
Para BIP uKeyIndex debe ser 4 o 5.
El estándar IEEE 802.11-2012 define los valores de índice de clave predeterminados de 1 a 4. El valor x especificado por este miembro se asigna al índice de clave predeterminado 802.11 (x + 1).
AlgorithmId
Valor del algoritmo de cifrado que usa esta clave. Para obtener más información sobre los valores de los algoritmos de cifrado, consulte DOT11_CIPHER_ALGORITHM.
Para BIP, debe establecerse en DOT11_CIPHER_ALGO_BIP para establecer previamente el número de paquete IGTK inicial.
El controlador de minipuerto debe omitir este miembro si bDelete es TRUE.
MacAddr
Dirección del control de acceso multimedia (MAC), que identifica la tabla de claves predeterminada para agregar o quitar la clave.
Si el objeto de base de información de administración (MIB) dot11DesiredBSSType se establece en dot11_BSS_type_infrastructure, la estación 802.11 agrega o quita la clave de la tabla de claves predeterminada independientemente del valor del miembro MacAddr . Si la clave se obtiene dinámicamente del punto de acceso (AP), el miembro MacAddr contendrá la dirección MAC del AP. De lo contrario, MacAddr tendrá un valor de 0x000000000000.
Si el objeto dot11DesiredBSSType management base (MIB) se establece en dot11_BSS_type_independent, la estación 802.11 debe agregar o quitar la clave de la siguiente manera:
Si el valor de este miembro es 0x000000000000, la estación 802.11 agrega o quita la clave de la tabla de claves predeterminada. Cuando la NIC está en el modo op de punto de acceso extensible (ExtAP), este valor es cero.
Si el valor de este miembro es una dirección MAC de unidifusión válida, la estación 802.11 agrega o quita la clave de la tabla de claves predeterminada por estación para la estación del mismo nivel en una red BSS (IBSS) independiente con una dirección MAC igual al valor de MacAddr .
Si no existe una tabla de claves predeterminada por estación para el valor de MacAddr, la estación 802.11 debe usar cualquier tabla de claves predeterminada por estación sin usar.
Para obtener más información sobre el objeto MIB dot11DesiredBSSType , vea OID_DOT11_DESIRED_BSS_TYPE.
bDelete
Valor booleano que especifica si el controlador de minipuerto debe eliminar la clave predeterminada.
Si se establece en TRUE, el controlador de minipuerto debe eliminar la clave predeterminada a la que hace referencia uKeyIndex. Si se establece en FALSE, el controlador de minipuerto debe agregar o actualizar la clave predeterminada a la que hace referencia uKeyIndex .
bStatic
Valor booleano que especifica si el controlador de minipuerto debe eliminar la clave predeterminada después de una conexión o una operación de itinerancia.
Si se establece en FALSE, el controlador de minipuerto debe eliminar la clave predeterminada a la que hace referencia uKeyIndex cada vez que la estación 802.11:
- Se desconecta de la red básica del conjunto de servicios (BSS).
- Itinerancia a una nueva red BSS.
- Vuelve a conectarse a la misma red BSS.
Si se establece en TRUE, la clave predeterminada a la que hace referencia uKeyIndex no se debe eliminar a menos que sea:
- Se eliminó explícitamente a través de una solicitud establecida de OID_DOT11_CIPHER_DEFAULT_KEY.
- Se elimina implícitamente a través de una solicitud de método de OID_DOT11_RESET_REQUEST.
usKeyLength
Longitud, en bytes, del material de clave en la matriz ucKey .
ucKey[*]
Material clave.
Si AlgorithmId se establece en DOT11_CIPHER_ALGO_TKIP, la matriz ucKey define el material de clave a través de la estructura DOT11_KEY_ALGO_TKIP_MIC .
Si AlgorithmId se establece en DOT11_CIPHER_ALGO_CCMP, la matriz ucKey define el material de clave a través de la estructura DOT11_KEY_ALGO_CCMP .
Si AlgorithmId se establece en DOT11_CIPHER_ALGO_BIP, la matriz ucKey define el material de clave a través de la estructura DOT11_KEY_ALGO_BIP .
ucKey[1]
Material clave.
Si AlgorithmId se establece en DOT11_CIPHER_ALGO_TKIP, la matriz ucKey define el material de clave a través de la estructura DOT11_KEY_ALGO_TKIP_MIC .
Si AlgorithmId se establece en DOT11_CIPHER_ALGO_CCMP, la matriz ucKey define el material de clave a través de la estructura DOT11_KEY_ALGO_CCMP .
Si AlgorithmId se establece en DOT11_CIPHER_ALGO_BIP, la matriz ucKey define el material de clave a través de la estructura DOT11_KEY_ALGO_BIP .
Comentarios
Si el miembro bDelete es TRUE, los siguientes miembros no son válidos y deben omitirse:
- bStatic
- usKeyLength
- ucKey
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 8 y versiones posteriores de los sistemas operativos Windows. |
Encabezado | windot11.h (incluye Ndis.h) |