Lines Matching refs:ptk
859 * wpa_pmk_to_ptk - Calculate PTK from PMK, addresses, and nonces
867 * @ptk: Buffer for pairwise transient key
868 * @ptk_len: Length of PTK
871 * PTK = PRF-X(PMK, "Pairwise key expansion",
883 u8 *ptk, size_t ptk_len)
903 sha1_prf(pmk, pmk_len, label, data, sizeof(data), ptk, ptk_len);
906 wpa_hexdump_key(MSG_DEBUG, "WPA: PTK", ptk, ptk_len);
1024 wpa_eapol_key_send(sm, sm->ptk.kck, ver, bssid, ETH_P_EAPOL,
1157 wpa_eapol_key_send(sm, sm->ptk.kck, ver, bssid, ETH_P_EAPOL,
1441 struct wpa_ptk *ptk)
1478 wpa_eapol_key_send(sm, ptk->kck, ver, dst, ETH_P_EAPOL,
1491 struct wpa_ptk *ptk;
1534 /* Calculate PTK which will be stored as a temporary PTK until it has
1536 ptk = &sm->tptk;
1539 (u8 *) ptk, sizeof(*ptk));
1541 os_memcpy(buf, ptk->u.auth.tx_mic_key, 8);
1542 os_memcpy(ptk->u.auth.tx_mic_key, ptk->u.auth.rx_mic_key, 8);
1543 os_memcpy(ptk->u.auth.rx_mic_key, buf, 8);
1548 ptk))
1566 MACSTR " [PTK=%s GTK=%s]", MAC2STR(addr),
1605 wpa_printf(MSG_DEBUG, "WPA: Installing PTK to the driver.");
1636 (u8 *) sm->ptk.tk1, keylen) < 0) {
1637 wpa_printf(MSG_WARNING, "WPA: Failed to set PTK to the "
1969 struct wpa_ptk *ptk)
2001 wpa_eapol_key_send(sm, ptk->kck, ver, dst, ETH_P_EAPOL,
2081 NULL, 0, &sm->ptk))
2086 * SNonce will still be used to avoid changing PTK. */
2186 wpa_eapol_key_send(sm, sm->ptk.kck, ver, dst, ETH_P_EAPOL,
2242 wpa_eapol_key_send(sm, sm->ptk.kck, ver, src_addr, ETH_P_EAPOL,
3042 os_memcpy(ek + 16, sm->ptk.kek, 16);
3064 if (aes_unwrap(sm->ptk.kek, maxkeylen / 8,
3105 wpa_eapol_key_send(sm, sm->ptk.kck, ver, sm->bssid, ETH_P_EAPOL,
3183 os_memcpy(&sm->ptk, &sm->tptk, sizeof(sm->ptk));
3189 wpa_eapol_key_mic(sm->ptk.kck, ver, buf, len,
3280 wpa_printf(MSG_WARNING, "WPA: PTK not available, "
3290 os_memcpy(ek + 16, sm->ptk.kek, 16);
3306 if (aes_unwrap(sm->ptk.kek, keydatalen / 8,
3383 * to. In addition, key material (PTK, GTK) is configured at the end of a