estrutura DOT11_CIPHER_DEFAULT_KEY_VALUE (windot11.h)
Importante
WiFiCx é o novo modelo de driver Wi-Fi lançado no Windows 11. Recomendamos que você use o WiFiCx para aproveitar os recursos mais recentes. O modelo de driver WDI agora está no modo de manutenção e receberá apenas correções de alta prioridade.
A estrutura DOT11_CIPHER_DEFAULT_KEY_VALUE define uma chave de criptografia padrão ou uma chave de criptografia padrão por estação que será adicionada ou excluída das tabelas de chaves na estação 802.11. Para obter mais informações sobre esses tipos de chave de criptografia, consulte tipos de chave de criptografia 802.11.
Sintaxe
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;
Membros
Header
O tipo, a revisão e o tamanho da estrutura DOT11_CIPHER_DEFAULT_KEY_VALUE. Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER.
O driver de miniporto deve definir os membros do Header para os seguintes valores:
Tipo
Esse membro deve ser definido como NDIS_OBJECT_TYPE_DEFAULT.
Revisão
Esse membro deve ser definido como DOT11_CIPHER_DEFAULT_KEY_VALUE_REVISION_1.
Tamanho
Esse membro deve ser definido como sizeof(DOT11_CIPHER_DEFAULT_KEY_VALUE)
.
Para obter mais informações sobre esses membros, consulte NDIS_OBJECT_HEADER.
uKeyIndex
O índice da chave na matriz de chaves padrão da estação 802.11.
Para algoritmos de criptografia padrão 802.11, uKeyIndex deve ser de 0 a 3. Para um algoritmo de criptografia desenvolvido por um IHV, uKeyIndex pode ser qualquer valor dentro do intervalo definido pelo IHV.
Para bip uKeyIndex deve ser 4 ou 5.
O padrão IEEE 802.11-2012 define valores de índice de chave padrão de 1 a 4. O valor x especificado por esse membro é mapeado para o índice de chave padrão 802.11 (x + 1).
AlgorithmId
O valor do algoritmo de criptografia que usa essa chave. Para obter mais informações sobre valores para algoritmos de criptografia, consulte DOT11_CIPHER_ALGORITHM.
Para BIP, isso deve ser definido como DOT11_CIPHER_ALGO_BIP para pré-definir o número inicial do pacote IGTK.
O driver de miniporto deverá ignorar esse membro se bDelete estiver VERDADEIRO.
MacAddr
O endereço MAC (controle de acesso à mídia), que identifica a tabela de chaves padrão para adicionar ou remover a chave.
Se o objeto dot11DesiredBSSType base de informações de gerenciamento (MIB) estiver definido como dot11_BSS_type_infrastructure, a estação 802.11 adicionará ou removerá a chave da tabela de chaves padrão, independentemente do valor do membro macAddr. Se a chave for obtida dinamicamente do AP (ponto de acesso) ao qual a estação está associada, o membro macAddr conterá o endereço MAC da AP. Caso contrário, MacAddr terá um valor de 0x000000000000.
Se o objeto dot11DesiredBSSType base de informações de gerenciamento (MIB) estiver definido como dot11_BSS_type_independent, a estação 802.11 deverá adicionar ou remover a chave da seguinte maneira:
Se o valor desse membro for 0x000000000000, a estação 802.11 adicionará ou removerá a chave da tabela de chaves padrão. Quando a NIC está no modo OP do Ponto de Acesso Extensível (ExtAP), esse valor é zero.
Se o valor desse membro for um endereço MAC unicast válido, a estação 802.11 adicionará ou removerá a chave da tabela de chaves padrão por estação para a estação par em uma rede independente do BSS (IBSS) com um endereço MAC igual ao valor de MacAddr .
Se uma tabela de chaves padrão por estação não existir para o valor de macAddr, a estação 802.11 deverá usar qualquer tabela de chaves padrão por estação não utilizada.
Para obter mais informações sobre o objeto dot11DesiredBSSType MIB, consulte OID_DOT11_DESIRED_BSS_TYPE.
bDelete
Um valor booliano que especifica se o driver de miniporto deve excluir a chave padrão.
Se definido como TRUE, o driver de miniporto deverá excluir a chave padrão referenciada por uKeyIndex. Se definido como FALSE, o driver de miniporto deverá adicionar ou atualizar a chave padrão referenciada por uKeyIndex.
bStatic
Um valor booliano que especifica se o driver de miniporto deve excluir a chave padrão após uma conexão ou operação de roaming.
Se definido como FALSE, o driver de miniporto deverá excluir a chave padrão referenciada por uKeyIndex sempre que a estação 802.11:
- Desconecta-se da rede BSS (conjunto de serviços) básico.
- Percorre uma nova rede BSS.
- Reconecta-se à mesma rede BSS.
Se definido como TRUE, a chave padrão referenciada por uKeyIndex não deverá ser excluída, a menos que seja:
- Excluído explicitamente por meio de uma solicitação definida de OID_DOT11_CIPHER_DEFAULT_KEY.
- Excluído implicitamente por meio de uma solicitação de método de OID_DOT11_RESET_REQUEST.
usKeyLength
O comprimento, em bytes, do material de chave na matriz de ucKey.
ucKey[*]
O material da chave.
Se AlgorithmId estiver definido como DOT11_CIPHER_ALGO_TKIP, a matriz ucKey definirá o material de chave por meio da estrutura DOT11_KEY_ALGO_TKIP_MIC.
Se AlgorithmId estiver definida como DOT11_CIPHER_ALGO_CCMP, a matriz ucKey definirá o material de chave por meio da estrutura de DOT11_KEY_ALGO_CCMP.
Se AlgorithmId estiver definido como DOT11_CIPHER_ALGO_BIP, a matriz ucKey definirá o material de chave por meio da estrutura de DOT11_KEY_ALGO_BIP.
ucKey[1]
O material da chave.
Se AlgorithmId estiver definido como DOT11_CIPHER_ALGO_TKIP, a matriz ucKey definirá o material de chave por meio da estrutura DOT11_KEY_ALGO_TKIP_MIC.
Se AlgorithmId estiver definida como DOT11_CIPHER_ALGO_CCMP, a matriz ucKey definirá o material de chave por meio da estrutura de DOT11_KEY_ALGO_CCMP.
Se AlgorithmId estiver definido como DOT11_CIPHER_ALGO_BIP, a matriz ucKey definirá o material de chave por meio da estrutura de DOT11_KEY_ALGO_BIP.
Observações
Se o membro bDelete for verdadeiro, os seguintes membros não serão válidos e deverão ser ignorados:
- bStatic
- usKeyLength
- ucKey
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows 8 e versões posteriores dos sistemas operacionais Windows. |
cabeçalho | windot11.h (inclua Ndis.h) |