iPXE
Data Fields
wpa_kie Struct Reference

WPA handshake key integrity and encryption handler. More...

#include <wpa.h>

Data Fields

int version
 Value of version bits in EAPOL-Key info field for which to use. More...
 
void(* mic )(const void *kck, const void *msg, size_t len, void *mic)
 Calculate MIC over message. More...
 
int(* decrypt )(const void *kek, const void *iv, void *msg, u16 *len)
 Decrypt key data. More...
 

Detailed Description

WPA handshake key integrity and encryption handler.

Note that due to the structure of the 4-Way Handshake we never actually need to encrypt key data, only decrypt it.

Definition at line 371 of file wpa.h.

Field Documentation

◆ version

int wpa_kie::version

Value of version bits in EAPOL-Key info field for which to use.

This should be one of the EAPOL_KEY_VERSION_* constants.

Definition at line 376 of file wpa.h.

Referenced by wpa_find_kie().

◆ mic

void( * wpa_kie::mic) (const void *kck, const void *msg, size_t len, void *mic)

Calculate MIC over message.

Parameters
kckKey Confirmation Key, 16 bytes
msgMessage to calculate MIC over
lenNumber of bytes to calculate MIC over
Return values
micCalculated MIC, 16 bytes long

The mic return may point within msg, so it must not be filled until the calculation has been performed.

Definition at line 388 of file wpa.h.

Referenced by eapol_key_rx(), and wpa_send_eapol().

◆ decrypt

int( * wpa_kie::decrypt) (const void *kek, const void *iv, void *msg, u16 *len)

Decrypt key data.

Parameters
kekKey Encryption Key, 16 bytes
ivInitialisation vector for encryption, 16 bytes
msgMessage to decrypt (Key Data field)
lenLength of message
Return values
msgDecrypted message in place of original
lenUpdated to reflect encrypted length
rcReturn status code

The decrypted message is written over the encrypted one.

Definition at line 403 of file wpa.h.

Referenced by eapol_key_rx(), and wpa_handle_1_of_2().


The documentation for this struct was generated from the following file: