Classes | Defines | Enumerations | Functions | Variables
eap_pax_common.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  eap_pax_hdr

Defines

#define EAP_PAX_ADE_CLIENT_CHANNEL_BINDING   0x02
#define EAP_PAX_ADE_SERVER_CHANNEL_BINDING   0x03
#define EAP_PAX_ADE_VENDOR_SPECIFIC   0x01
#define EAP_PAX_AK_LEN   16
#define EAP_PAX_CK_LEN   16
#define EAP_PAX_DH_GROUP_2048_MODP   0x01
#define EAP_PAX_DH_GROUP_3072_MODP   0x02
#define EAP_PAX_DH_GROUP_NIST_ECC_P_256   0x03
#define EAP_PAX_DH_GROUP_NONE   0x00
#define EAP_PAX_FLAGS_AI   0x04
#define EAP_PAX_FLAGS_CE   0x02
#define EAP_PAX_FLAGS_MF   0x01
#define EAP_PAX_HMAC_SHA256_128   0x02
#define EAP_PAX_ICK_LEN   16
#define EAP_PAX_ICV_LEN   16
#define EAP_PAX_MAC_HMAC_SHA1_128   0x01
#define EAP_PAX_MAC_LEN   16
#define EAP_PAX_MK_LEN   16
#define EAP_PAX_PUBLIC_KEY_EL_GAMAL_NIST_ECC   0x03
#define EAP_PAX_PUBLIC_KEY_NONE   0x00
#define EAP_PAX_PUBLIC_KEY_RSA_PKCS1_V1_5   0x02
#define EAP_PAX_PUBLIC_KEY_RSAES_OAEP   0x01
#define EAP_PAX_RAND_LEN   32

Enumerations

enum  {
  EAP_PAX_OP_STD_1 = 0x01, EAP_PAX_OP_STD_2 = 0x02, EAP_PAX_OP_STD_3 = 0x03, EAP_PAX_OP_SEC_1 = 0x11,
  EAP_PAX_OP_SEC_2 = 0x12, EAP_PAX_OP_SEC_3 = 0x13, EAP_PAX_OP_SEC_4 = 0x14, EAP_PAX_OP_SEC_5 = 0x15,
  EAP_PAX_OP_ACK = 0x21
}

Functions

int eap_pax_initial_key_derivation (u8 mac_id, const u8 *ak, const u8 *e, u8 *mk, u8 *ck, u8 *ick)
int eap_pax_kdf (u8 mac_id, const u8 *key, size_t key_len, const char *identifier, const u8 *entropy, size_t entropy_len, size_t output_len, u8 *output)
int eap_pax_mac (u8 mac_id, const u8 *key, size_t key_len, const u8 *data1, size_t data1_len, const u8 *data2, size_t data2_len, const u8 *data3, size_t data3_len, u8 *mac)

Variables

struct eap_pax_hdr STRUCT_PACKED

Define Documentation

Definition at line 72 of file eap_pax_common.h.

Definition at line 73 of file eap_pax_common.h.

#define EAP_PAX_ADE_VENDOR_SPECIFIC   0x01

Definition at line 71 of file eap_pax_common.h.

#define EAP_PAX_AK_LEN   16

Definition at line 79 of file eap_pax_common.h.

#define EAP_PAX_CK_LEN   16

Definition at line 81 of file eap_pax_common.h.

#define EAP_PAX_DH_GROUP_2048_MODP   0x01

Definition at line 60 of file eap_pax_common.h.

#define EAP_PAX_DH_GROUP_3072_MODP   0x02

Definition at line 61 of file eap_pax_common.h.

Definition at line 62 of file eap_pax_common.h.

#define EAP_PAX_DH_GROUP_NONE   0x00

Definition at line 59 of file eap_pax_common.h.

#define EAP_PAX_FLAGS_AI   0x04

Definition at line 52 of file eap_pax_common.h.

#define EAP_PAX_FLAGS_CE   0x02

Definition at line 51 of file eap_pax_common.h.

#define EAP_PAX_FLAGS_MF   0x01

Definition at line 50 of file eap_pax_common.h.

#define EAP_PAX_HMAC_SHA256_128   0x02

Definition at line 56 of file eap_pax_common.h.

#define EAP_PAX_ICK_LEN   16

Definition at line 82 of file eap_pax_common.h.

#define EAP_PAX_ICV_LEN   16

Definition at line 78 of file eap_pax_common.h.

#define EAP_PAX_MAC_HMAC_SHA1_128   0x01

Definition at line 55 of file eap_pax_common.h.

#define EAP_PAX_MAC_LEN   16

Definition at line 77 of file eap_pax_common.h.

#define EAP_PAX_MK_LEN   16

Definition at line 80 of file eap_pax_common.h.

Definition at line 68 of file eap_pax_common.h.

#define EAP_PAX_PUBLIC_KEY_NONE   0x00

Definition at line 65 of file eap_pax_common.h.

Definition at line 67 of file eap_pax_common.h.

#define EAP_PAX_PUBLIC_KEY_RSAES_OAEP   0x01

Definition at line 66 of file eap_pax_common.h.

#define EAP_PAX_RAND_LEN   32

Definition at line 76 of file eap_pax_common.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
EAP_PAX_OP_STD_1 
EAP_PAX_OP_STD_2 
EAP_PAX_OP_STD_3 
EAP_PAX_OP_SEC_1 
EAP_PAX_OP_SEC_2 
EAP_PAX_OP_SEC_3 
EAP_PAX_OP_SEC_4 
EAP_PAX_OP_SEC_5 
EAP_PAX_OP_ACK 

Definition at line 37 of file eap_pax_common.h.


Function Documentation

int eap_pax_initial_key_derivation ( u8  mac_id,
const u8 *  ak,
const u8 *  e,
u8 *  mk,
u8 *  ck,
u8 *  ick 
)

eap_pax_initial_key_derivation - EAP-PAX initial key derivation : MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported : Authentication Key : Entropy : Buffer for the derived Master Key : Buffer for the derived Confirmation Key : Buffer for the derived Integrity Check Key Returns: 0 on success, -1 on failure

Definition at line 132 of file eap_pax_common.c.

int eap_pax_kdf ( u8  mac_id,
const u8 *  key,
size_t  key_len,
const char *  identifier,
const u8 *  entropy,
size_t  entropy_len,
size_t  output_len,
u8 *  output 
)

eap_pax_kdf - PAX Key Derivation Function : MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported : Secret key (X) : Length of the secret key in bytes : Public identifier for the key (Y) : Exchanged entropy to seed the KDF (Z) : Length of the entropy in bytes : Output len in bytes (W) : Buffer for the derived key Returns: 0 on success, -1 failed

RFC 4746, Section 2.6: PAX-KDF-W(X, Y, Z)

Definition at line 36 of file eap_pax_common.c.

int eap_pax_mac ( u8  mac_id,
const u8 *  key,
size_t  key_len,
const u8 *  data1,
size_t  data1_len,
const u8 *  data2,
size_t  data2_len,
const u8 *  data3,
size_t  data3_len,
u8 *  mac 
)

eap_pax_mac - EAP-PAX MAC : MAC ID (EAP_PAX_MAC_*) / currently, only HMAC_SHA1_128 is supported : Secret key : Length of the secret key in bytes : Optional data, first block; NULL if not used : Length of data1 in bytes : Optional data, second block; NULL if not used : Length of data2 in bytes : Optional data, third block; NULL if not used : Length of data3 in bytes : Buffer for the MAC value (EAP_PAX_MAC_LEN = 16 bytes) Returns: 0 on success, -1 on failure

Wrapper function to calculate EAP-PAX MAC.

Definition at line 92 of file eap_pax_common.c.


Variable Documentation



wpa_supplicant
Author(s): Package maintained by Blaise Gassend
autogenerated on Thu Apr 24 2014 15:34:38