diff options
author | Jouni Malinen <j@w1.fi> | 2018-12-26 10:39:21 (GMT) |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2018-12-26 14:44:58 (GMT) |
commit | 7c3d1cc040d60cab56fb7558b359454ab6cb8744 (patch) | |
tree | 42fb9762e3e856ee0724d3c74b3bbe8494039364 /src/pae/ieee802_1x_key.c | |
parent | 175ebc1f7a2736db5f9652697de8f032fad8077d (diff) | |
download | hostap-7c3d1cc040d60cab56fb7558b359454ab6cb8744.zip hostap-7c3d1cc040d60cab56fb7558b359454ab6cb8744.tar.gz hostap-7c3d1cc040d60cab56fb7558b359454ab6cb8744.tar.bz2 |
mka: Support 256-bit ICK derivation
Support derivation of a 256-bit ICK and use of a 256-bit CAK in ICK
derivation.
Signed-off-by: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'src/pae/ieee802_1x_key.c')
-rw-r--r-- | src/pae/ieee802_1x_key.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/pae/ieee802_1x_key.c b/src/pae/ieee802_1x_key.c index d43cb91..fe27e2c 100644 --- a/src/pae/ieee802_1x_key.c +++ b/src/pae/ieee802_1x_key.c @@ -151,13 +151,13 @@ int ieee802_1x_kek_aes_cmac(const u8 *cak, size_t cak_bytes, const u8 *ckn, /** - * ieee802_1x_ick_128bits_aes_cmac + * ieee802_1x_ick_aes_cmac * * IEEE Std 802.1X-2010, 9.3.3 * ICK = KDF(Key, Label, Keyid, ICKLength) */ -int ieee802_1x_ick_128bits_aes_cmac(const u8 *cak, const u8 *ckn, - size_t ckn_bytes, u8 *ick) +int ieee802_1x_ick_aes_cmac(const u8 *cak, size_t cak_bytes, const u8 *ckn, + size_t ckn_bytes, u8 *ick, size_t ick_bytes) { u8 context[16]; @@ -165,8 +165,9 @@ int ieee802_1x_ick_128bits_aes_cmac(const u8 *cak, const u8 *ckn, os_memset(context, 0, sizeof(context)); os_memcpy(context, ckn, (ckn_bytes < 16) ? ckn_bytes : 16); - return aes_kdf(cak, 128, "IEEE8021 ICK", context, sizeof(context) * 8, - 128, ick); + return aes_kdf(cak, 8 *cak_bytes, "IEEE8021 ICK", + context, sizeof(context) * 8, + 8 * ick_bytes, ick); } |