wpa_supplicant / hostapd  2.5
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Functions
ieee802_1x_kay.c File Reference

IEEE 802.1X-2010 Key Agree Protocol of PAE state machine. More...

#include <time.h>
#include "includes.h"
#include "common.h"
#include "list.h"
#include "eloop.h"
#include "wpabuf.h"
#include "state_machine.h"
#include "l2_packet/l2_packet.h"
#include "common/eapol_common.h"
#include "crypto/aes_wrap.h"
#include "ieee802_1x_cp.h"
#include "ieee802_1x_key.h"
#include "ieee802_1x_kay.h"
#include "ieee802_1x_kay_i.h"
#include "ieee802_1x_secy_ops.h"

Data Structures

struct  mka_param_body_handler
 

Macros

#define DEFAULT_SA_KEY_LEN   16
 
#define DEFAULT_ICV_LEN   16
 
#define MAX_ICV_LEN   32 /* 32 bytes, 256 bits */
 
#define PENDING_PN_EXHAUSTION   0xC0000000
 
#define MKA_ALGO_AGILITY_2009   { 0x00, 0x80, 0xC2, 0x01 }
 
#define CS_TABLE_SIZE   (ARRAY_SIZE(cipher_suite_tbl))
 
#define DEFAULT_CS_INDEX   0
 
#define MKA_ALG_TABLE_SIZE   (ARRAY_SIZE(mka_alg_tbl))
 

Functions

void ieee802_1x_kay_deinit_data_key (struct data_key *pkey)
 ieee802_1x_kay_deinit_data_key -
 
int ieee802_1x_kay_set_latest_sa_attr (struct ieee802_1x_kay *kay, struct ieee802_1x_mka_ki *lki, u8 lan, Boolean ltx, Boolean lrx)
 ieee802_1x_kay_set_latest_sa_attr -
 
int ieee802_1x_kay_set_old_sa_attr (struct ieee802_1x_kay *kay, struct ieee802_1x_mka_ki *oki, u8 oan, Boolean otx, Boolean orx)
 ieee802_1x_kay_set_old_sa_attr -
 
int ieee802_1x_kay_create_sas (struct ieee802_1x_kay *kay, struct ieee802_1x_mka_ki *lki)
 ieee802_1x_kay_create_sas -
 
int ieee802_1x_kay_delete_sas (struct ieee802_1x_kay *kay, struct ieee802_1x_mka_ki *ki)
 ieee802_1x_kay_delete_sas -
 
int ieee802_1x_kay_enable_tx_sas (struct ieee802_1x_kay *kay, struct ieee802_1x_mka_ki *lki)
 ieee802_1x_kay_enable_tx_sas -
 
int ieee802_1x_kay_enable_rx_sas (struct ieee802_1x_kay *kay, struct ieee802_1x_mka_ki *lki)
 ieee802_1x_kay_enable_rx_sas -
 
int ieee802_1x_kay_enable_new_info (struct ieee802_1x_kay *kay)
 ieee802_1x_kay_enable_new_info -
 
int ieee802_1x_kay_cp_conf (struct ieee802_1x_kay *kay, struct ieee802_1x_cp_conf *pconf)
 ieee802_1x_kay_cp_conf -
 
struct ieee802_1x_kayieee802_1x_kay_init (struct ieee802_1x_kay_ctx *ctx, enum macsec_policy policy, const char *ifname, const u8 *addr)
 ieee802_1x_kay_init -
 
void ieee802_1x_kay_deinit (struct ieee802_1x_kay *kay)
 ieee802_1x_kay_deinit -
 
struct ieee802_1x_mka_participantieee802_1x_kay_create_mka (struct ieee802_1x_kay *kay, struct mka_key_name *ckn, struct mka_key *cak, u32 life, enum mka_created_mode mode, Boolean is_authenticator)
 ieee802_1x_kay_create_mka -
 
void ieee802_1x_kay_delete_mka (struct ieee802_1x_kay *kay, struct mka_key_name *ckn)
 ieee802_1x_kay_delete_mka -
 
void ieee802_1x_kay_mka_participate (struct ieee802_1x_kay *kay, struct mka_key_name *ckn, Boolean status)
 ieee802_1x_kay_mka_participate -
 
int ieee802_1x_kay_new_sak (struct ieee802_1x_kay *kay)
 ieee802_1x_kay_new_sak -
 
int ieee802_1x_kay_change_cipher_suite (struct ieee802_1x_kay *kay, int cs_index)
 ieee802_1x_kay_change_cipher_suite -
 

Detailed Description

IEEE 802.1X-2010 Key Agree Protocol of PAE state machine.