mesh: Fix AEK derivation to use AKM suite selector

mesh_rsn_derive_aek() was hardcoded to use GCMP (even though CCMP was
hardcoded elsewhere) cipher suite selector instead of the selected AKM
suite selector. This resulted in incorrect AEK getting derived. Fix this
by used the SAE AKM suite selector in the input to the KDF.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2016-06-18 14:17:34 +03:00
parent 18aca1a07d
commit a59c5e9235

View file

@ -366,8 +366,8 @@ mesh_rsn_derive_aek(struct mesh_rsn *rsn, struct sta_info *sta)
u8 *addr1 = peer, *addr2 = myaddr;
u8 context[AES_BLOCK_SIZE];
/* SAE */
RSN_SELECTOR_PUT(context, wpa_cipher_to_suite(0, WPA_CIPHER_GCMP));
/* Selected AKM Suite: SAE */
RSN_SELECTOR_PUT(context, RSN_AUTH_KEY_MGMT_SAE);
if (os_memcmp(myaddr, peer, ETH_ALEN) < 0) {
addr1 = myaddr;