diff options
author | Shane Lontis <shane.lontis@oracle.com> | 2018-07-24 11:16:38 +1000 |
---|---|---|
committer | Pauli <paul.dale@oracle.com> | 2018-09-28 07:22:13 +1000 |
commit | 8bf366519661e12fd894dc5420f5b64dccfd7ecd (patch) | |
tree | 2dbd982aa266dcc238ac4e973694110974c35b79 /test/drbg_cavs_test.c | |
parent | 1362190b1b786a87378e55e9a1c20c46b6b6a286 (diff) | |
download | openssl-8bf366519661e12fd894dc5420f5b64dccfd7ecd.tar.gz |
Added DRBG_HMAC & DRBG_HASH + Added defaults for setting DRBG for master/public/private + renamed generate_counter back to reseed_counter + generated new cavs data tests
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/6779)
Diffstat (limited to 'test/drbg_cavs_test.c')
-rw-r--r-- | test/drbg_cavs_test.c | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/test/drbg_cavs_test.c b/test/drbg_cavs_test.c index 413f5bf698..5e0b202680 100644 --- a/test/drbg_cavs_test.c +++ b/test/drbg_cavs_test.c @@ -71,8 +71,10 @@ static int single_kat_no_reseed(const struct drbg_kat *td) int failures = 0; TEST_CTX t; - if (td->df != USE_DF) + if ((td->flags & USE_DF) == 0) flags |= RAND_DRBG_FLAG_CTR_NO_DF; + if ((td->flags & USE_HMAC) != 0) + flags |= RAND_DRBG_FLAG_HMAC; if (!TEST_ptr(drbg = RAND_DRBG_new(td->nid, flags, NULL))) return 0; @@ -133,8 +135,10 @@ static int single_kat_pr_false(const struct drbg_kat *td) int failures = 0; TEST_CTX t; - if (td->df != USE_DF) + if ((td->flags & USE_DF) == 0) flags |= RAND_DRBG_FLAG_CTR_NO_DF; + if ((td->flags & USE_HMAC) != 0) + flags |= RAND_DRBG_FLAG_HMAC; if (!TEST_ptr(drbg = RAND_DRBG_new(td->nid, flags, NULL))) return 0; @@ -200,8 +204,10 @@ static int single_kat_pr_true(const struct drbg_kat *td) int failures = 0; TEST_CTX t; - if (td->df != USE_DF) + if ((td->flags & USE_DF) == 0) flags |= RAND_DRBG_FLAG_CTR_NO_DF; + if ((td->flags & USE_HMAC) != 0) + flags |= RAND_DRBG_FLAG_HMAC; if (!TEST_ptr(drbg = RAND_DRBG_new(td->nid, flags, NULL))) return 0; @@ -252,9 +258,9 @@ err: return failures == 0; } -static int test_cavs_kats(int i) +static int test_cavs_kats(const struct drbg_kat *test[], int i) { - const struct drbg_kat *td = drbg_test[i]; + const struct drbg_kat *td = test[i]; int rv = 0; switch (td->type) { @@ -278,10 +284,28 @@ err: return rv; } +static int test_cavs_ctr(int i) +{ + return test_cavs_kats(drbg_ctr_test, i); +} + +static int test_cavs_hmac(int i) +{ + return test_cavs_kats(drbg_hmac_test, i); +} + +static int test_cavs_hash(int i) +{ + return test_cavs_kats(drbg_hash_test, i); +} + int setup_tests(void) { app_data_index = RAND_DRBG_get_ex_new_index(0L, NULL, NULL, NULL, NULL); - ADD_ALL_TESTS(test_cavs_kats, drbg_test_nelem); + ADD_ALL_TESTS(test_cavs_ctr, drbg_ctr_nelem); + ADD_ALL_TESTS(test_cavs_hmac, drbg_hmac_nelem); + ADD_ALL_TESTS(test_cavs_hash, drbg_hash_nelem); + return 1; } |