tests: Module test for hmac_sha256_kdf() maximum output length

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2015-10-10 18:55:19 +03:00
parent 0d2a7bad0f
commit 6f5b284b32

View file

@ -1503,6 +1503,7 @@ static int test_sha256(void)
const u8 *addr[2];
size_t len[2];
int errors = 0;
u8 *key;
for (i = 0; i < ARRAY_SIZE(tests); i++) {
wpa_printf(MSG_INFO, "SHA256 test case %d:", i + 1);
@ -1573,6 +1574,29 @@ static int test_sha256(void)
hash, sizeof(hash));
/* TODO: add proper test case for this */
key = os_malloc(8161);
if (key) {
int res;
res = hmac_sha256_kdf((u8 *) "secret", 6, "label",
(u8 *) "seed", 4, key, 8160);
if (res) {
wpa_printf(MSG_INFO,
"Unexpected hmac_sha256_kdf(outlen=8160) failure");
errors++;
}
res = hmac_sha256_kdf((u8 *) "secret", 6, "label",
(u8 *) "seed", 4, key, 8161);
if (res == 0) {
wpa_printf(MSG_INFO,
"Unexpected hmac_sha256_kdf(outlen=8161) success");
errors++;
}
os_free(key);
}
if (!errors)
wpa_printf(MSG_INFO, "SHA256 test cases passed");
return errors;