mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-01-03 10:32:33 +01:00
handshake: add key for FILS-FT in handshake_state
FILS derives its own FT key, for use as xxkey during fast transition.
This commit is contained in:
parent
e109e1b1cf
commit
aafb3fa7ed
@ -270,6 +270,14 @@ void handshake_state_set_no_rekey(struct handshake_state *s, bool no_rekey)
|
|||||||
s->no_rekey = no_rekey;
|
s->no_rekey = no_rekey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void handshake_state_set_fils_ft(struct handshake_state *s,
|
||||||
|
const uint8_t *fils_ft,
|
||||||
|
size_t fils_ft_len)
|
||||||
|
{
|
||||||
|
memcpy(s->fils_ft, fils_ft, fils_ft_len);
|
||||||
|
s->fils_ft_len = fils_ft_len;
|
||||||
|
}
|
||||||
|
|
||||||
void handshake_state_new_snonce(struct handshake_state *s)
|
void handshake_state_new_snonce(struct handshake_state *s)
|
||||||
{
|
{
|
||||||
get_nonce(s->snonce);
|
get_nonce(s->snonce);
|
||||||
|
@ -97,6 +97,8 @@ struct handshake_state {
|
|||||||
uint8_t pmk_r1[32];
|
uint8_t pmk_r1[32];
|
||||||
uint8_t pmk_r1_name[16];
|
uint8_t pmk_r1_name[16];
|
||||||
uint8_t pmkid[16];
|
uint8_t pmkid[16];
|
||||||
|
uint8_t fils_ft[48];
|
||||||
|
uint8_t fils_ft_len;
|
||||||
struct l_settings *settings_8021x;
|
struct l_settings *settings_8021x;
|
||||||
bool have_snonce : 1;
|
bool have_snonce : 1;
|
||||||
bool ptk_complete : 1;
|
bool ptk_complete : 1;
|
||||||
@ -164,6 +166,10 @@ void handshake_state_set_passphrase(struct handshake_state *s,
|
|||||||
const char *passphrase);
|
const char *passphrase);
|
||||||
void handshake_state_set_no_rekey(struct handshake_state *s, bool no_rekey);
|
void handshake_state_set_no_rekey(struct handshake_state *s, bool no_rekey);
|
||||||
|
|
||||||
|
void handshake_state_set_fils_ft(struct handshake_state *s,
|
||||||
|
const uint8_t *fils_ft,
|
||||||
|
size_t fils_ft_len);
|
||||||
|
|
||||||
void handshake_state_new_snonce(struct handshake_state *s);
|
void handshake_state_new_snonce(struct handshake_state *s);
|
||||||
void handshake_state_new_anonce(struct handshake_state *s);
|
void handshake_state_new_anonce(struct handshake_state *s);
|
||||||
void handshake_state_set_anonce(struct handshake_state *s,
|
void handshake_state_set_anonce(struct handshake_state *s,
|
||||||
|
Loading…
Reference in New Issue
Block a user