Browse Source

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>
Jouni Malinen 8 years ago
parent
commit
a59c5e9235
1 changed files with 2 additions and 2 deletions
  1. 2 2
      wpa_supplicant/mesh_rsn.c

+ 2 - 2
wpa_supplicant/mesh_rsn.c

@@ -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;