]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
test-vectors: Add support for KDF test vectors
authorTobias Brunner <tobias@strongswan.org>
Fri, 11 Feb 2022 11:03:38 +0000 (12:03 +0100)
committerTobias Brunner <tobias@strongswan.org>
Thu, 14 Apr 2022 16:54:24 +0000 (18:54 +0200)
src/libstrongswan/plugins/test_vectors/test_vectors_plugin.c

index 7b11b19aa58d1922b2980b24e84047f45d53ad82..1dddcb7c25c117183cffc204461252635b792fa6 100644 (file)
@@ -25,6 +25,7 @@
 #define TEST_VECTOR_HASHER(x) extern hasher_test_vector_t x;
 #define TEST_VECTOR_PRF(x) extern prf_test_vector_t x;
 #define TEST_VECTOR_XOF(x) extern xof_test_vector_t x;
+#define TEST_VECTOR_KDF(x) extern kdf_test_vector_t x;
 #define TEST_VECTOR_DRBG(x) extern drbg_test_vector_t x;
 #define TEST_VECTOR_RNG(x) extern rng_test_vector_t x;
 #define TEST_VECTOR_DH(x) extern dh_test_vector_t x;
@@ -37,6 +38,7 @@
 #undef TEST_VECTOR_HASHER
 #undef TEST_VECTOR_PRF
 #undef TEST_VECTOR_XOF
+#undef TEST_VECTOR_KDF
 #undef TEST_VECTOR_DRBG
 #undef TEST_VECTOR_RNG
 #undef TEST_VECTOR_DH
@@ -47,6 +49,7 @@
 #define TEST_VECTOR_HASHER(x)
 #define TEST_VECTOR_PRF(x)
 #define TEST_VECTOR_XOF(x)
+#define TEST_VECTOR_KDF(x)
 #define TEST_VECTOR_DRBG(x)
 #define TEST_VECTOR_RNG(x)
 #define TEST_VECTOR_DH(x)
@@ -100,6 +103,14 @@ static xof_test_vector_t *xof[] = {
 #undef TEST_VECTOR_XOF
 #define TEST_VECTOR_XOF(x)
 
+#undef TEST_VECTOR_KDF
+#define TEST_VECTOR_KDF(x) &x,
+static kdf_test_vector_t *kdf[] = {
+#include "test_vectors.h"
+};
+#undef TEST_VECTOR_KDF
+#define TEST_VECTOR_KDF(x)
+
 #undef TEST_VECTOR_DRBG
 #define TEST_VECTOR_DRBG(x) &x,
 static drbg_test_vector_t *drbg[] = {
@@ -208,6 +219,11 @@ plugin_t *test_vectors_plugin_create()
                lib->crypto->add_test_vector(lib->crypto,
                                                                         EXTENDED_OUTPUT_FUNCTION, xof[i]);
        }
+       for (i = 0; i < countof(kdf); i++)
+       {
+               lib->crypto->add_test_vector(lib->crypto,
+                                                                        KEY_DERIVATION_FUNCTION, kdf[i]);
+       }
        for (i = 0; i < countof(drbg); i++)
        {
                lib->crypto->add_test_vector(lib->crypto,