Moved rsn_pmkid() into shared code to avoid duplication
[wpasupplicant] / hostapd / pmksa_cache.c
index 152a4cb..2de0219 100644 (file)
@@ -40,40 +40,6 @@ struct rsn_pmksa_cache {
 };
 
 
-/**
- * rsn_pmkid - Calculate PMK identifier
- * @pmk: Pairwise master key
- * @pmk_len: Length of pmk in bytes
- * @aa: Authenticator address
- * @spa: Supplicant address
- * @pmkid: Buffer for PMKID
- * @use_sha256: Whether to use SHA256-based KDF
- *
- * IEEE Std 802.11i-2004 - 8.5.1.2 Pairwise key hierarchy
- * PMKID = HMAC-SHA1-128(PMK, "PMK Name" || AA || SPA)
- */
-void rsn_pmkid(const u8 *pmk, size_t pmk_len, const u8 *aa, const u8 *spa,
-              u8 *pmkid, int use_sha256)
-{
-       char *title = "PMK Name";
-       const u8 *addr[3];
-       const size_t len[3] = { 8, ETH_ALEN, ETH_ALEN };
-       unsigned char hash[SHA256_MAC_LEN];
-
-       addr[0] = (u8 *) title;
-       addr[1] = aa;
-       addr[2] = spa;
-
-#ifdef CONFIG_IEEE80211W
-       if (use_sha256)
-               hmac_sha256_vector(pmk, pmk_len, 3, addr, len, hash);
-       else
-#endif /* CONFIG_IEEE80211W */
-               hmac_sha1_vector(pmk, pmk_len, 3, addr, len, hash);
-       os_memcpy(pmkid, hash, PMKID_LEN);
-}
-
-
 static void pmksa_cache_set_expiration(struct rsn_pmksa_cache *pmksa);