Поделиться через


структура DOT11_CIPHER_DEFAULT_KEY_VALUE (windot11.h)

Важный

WiFiCx — это новая модель драйвера Wi-Fi, выпущенная в Windows 11. Мы рекомендуем использовать WiFiCx для использования новейших функций. Модель драйвера WDI теперь находится в режиме обслуживания и получит только исправления с высоким приоритетом.

Структура 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.

Минипорт-драйвер должен задать члены заголовка следующими значениями:

Тип

Этот элемент должен иметь значение 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 будет содержать MAC-адрес AP. В противном случае MacAddr будет иметь значение 0x000000000000.

Если объект dot11DesiredBSSType информационной базы управления (MIB) имеет значение dot11_BSS_type_independent, станция 802.11 должна добавить или удалить ключ следующим образом:

  • Если значение этого элемента 0x000000000000, станция 802.11 добавляет или удаляет ключ из таблицы ключей по умолчанию. Если сетевой адаптер находится в режиме расширенной точки доступа (ExtAP), это значение равно нулю.

  • Если значение этого члена является допустимым одноадресным MAC-адресом, станция 802.11 добавляет или удаляет ключ из таблицы ключей по умолчанию для одноранговой станции в независимой сети BSS (IBSS) с MAC-адресом, равным значению MacAddr.

Если таблица ключей по умолчанию для каждой станции не существует для значения MacAddr, станция 802.11 должна использовать любую неиспользуемую таблицу ключей по умолчанию для станции.

Дополнительные сведения о объекте dot11DesiredBSSType MIB см. в OID_DOT11_DESIRED_BSS_TYPE.

bDelete

Логическое значение, указывающее, должен ли минипорт-драйвер удалить ключ по умолчанию.

Если задано значение TRUE, драйвер минипорта должен удалить ключ по умолчанию, на который ссылается uKeyIndex. Если задано значение false FALSE, драйвер минипорта должен добавить или обновить ключ по умолчанию, на который ссылается uKeyIndex.

bStatic

Логическое значение, указывающее, должен ли минипорт-драйвер удалить ключ по умолчанию после операции подключения или перемещения.

Если задано значение false 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 (include 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