@ -121,10 +121,11 @@ int eap_pax_mac(u8 mac_id, const u8 *key, size_t key_len,
* @ mk : Buffer for the derived Master Key
* @ ck : Buffer for the derived Confirmation Key
* @ ick : Buffer for the derived Integrity Check Key
* @ mid : Buffer for the derived Method ID
* Returns : 0 on success , - 1 on failure
*/
int eap_pax_initial_key_derivation ( u8 mac_id , const u8 * ak , const u8 * e ,
u8 * mk , u8 * ck , u8 * ick )
u8 * mk , u8 * ck , u8 * ick , u8 * mid )
{
wpa_printf ( MSG_DEBUG , " EAP-PAX: initial key derivation " ) ;
if ( eap_pax_kdf ( mac_id , ak , EAP_PAX_AK_LEN , " Master Key " ,
@ -132,13 +133,16 @@ int eap_pax_initial_key_derivation(u8 mac_id, const u8 *ak, const u8 *e,
eap_pax_kdf ( mac_id , mk , EAP_PAX_MK_LEN , " Confirmation Key " ,
e , 2 * EAP_PAX_RAND_LEN , EAP_PAX_CK_LEN , ck ) | |
eap_pax_kdf ( mac_id , mk , EAP_PAX_MK_LEN , " Integrity Check Key " ,
e , 2 * EAP_PAX_RAND_LEN , EAP_PAX_ICK_LEN , ick ) )
e , 2 * EAP_PAX_RAND_LEN , EAP_PAX_ICK_LEN , ick ) | |
eap_pax_kdf ( mac_id , mk , EAP_PAX_MK_LEN , " Method ID " ,
e , 2 * EAP_PAX_RAND_LEN , EAP_PAX_MID_LEN , mid ) )
return - 1 ;
wpa_hexdump_key ( MSG_MSGDUMP , " EAP-PAX: AK " , ak , EAP_PAX_AK_LEN ) ;
wpa_hexdump_key ( MSG_MSGDUMP , " EAP-PAX: MK " , mk , EAP_PAX_MK_LEN ) ;
wpa_hexdump_key ( MSG_MSGDUMP , " EAP-PAX: CK " , ck , EAP_PAX_CK_LEN ) ;
wpa_hexdump_key ( MSG_MSGDUMP , " EAP-PAX: ICK " , ick , EAP_PAX_ICK_LEN ) ;
wpa_hexdump_key ( MSG_MSGDUMP , " EAP-PAX: MID " , mid , EAP_PAX_MID_LEN ) ;
return 0 ;
}