From 597886af2f9be496c93af70385b900abae773021 Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Sun, 29 Mar 2026 19:59:25 +0200 Subject: [PATCH] Properly test crypto_kdf_hkdf_sha*_keygen --- test/default/kdf_hkdf.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/test/default/kdf_hkdf.c b/test/default/kdf_hkdf.c index 796762db..8019199c 100644 --- a/test/default/kdf_hkdf.c +++ b/test/default/kdf_hkdf.c @@ -13,6 +13,8 @@ tv_kdf_hkdf(void) size_t prk512_len = crypto_kdf_hkdf_sha512_KEYBYTES; unsigned char *salt; size_t salt_len = 77; + unsigned char *generated_prk256; + unsigned char *generated_prk512; char *context; size_t context_len = 88; unsigned char *out; @@ -24,6 +26,8 @@ tv_kdf_hkdf(void) prk256 = (unsigned char *) sodium_malloc(prk256_len); prk512 = (unsigned char *) sodium_malloc(prk512_len); salt = (unsigned char *) sodium_malloc(salt_len); + generated_prk256 = (unsigned char *) sodium_malloc(prk256_len); + generated_prk512 = (unsigned char *) sodium_malloc(prk512_len); context = (char *) sodium_malloc(context_len); out = (unsigned char *) sodium_malloc(out_len); for (i = 0; i < master_key_len; i++) { @@ -36,8 +40,10 @@ tv_kdf_hkdf(void) context[i] = (unsigned char) (i + 111); } + crypto_kdf_hkdf_sha256_keygen(generated_prk256); + crypto_kdf_hkdf_sha512_keygen(generated_prk512); + printf("\nHKDF/SHA-256:\n"); - crypto_kdf_hkdf_sha256_keygen(prk256); if (crypto_kdf_hkdf_sha256_extract(prk256, salt, salt_len, master_key, master_key_len) != 0) { printf("hkdf_sha256_extract() failed\n"); @@ -54,7 +60,6 @@ tv_kdf_hkdf(void) } printf("\nHKDF/SHA-512:\n"); - crypto_kdf_hkdf_sha256_keygen(prk512); if (crypto_kdf_hkdf_sha512_extract(prk512, salt, salt_len, master_key, master_key_len) != 0) { printf("hkdf_sha512_extract() failed\n"); @@ -72,6 +77,8 @@ tv_kdf_hkdf(void) sodium_free(out); sodium_free(context); + sodium_free(generated_prk512); + sodium_free(generated_prk256); sodium_free(salt); sodium_free(master_key); sodium_free(prk512);