From 22cb410dd4456a84b5bde8be6a907afdc38a792b Mon Sep 17 00:00:00 2001 From: Jakub Jelen Date: Mon, 6 Mar 2023 17:26:17 +0100 Subject: tests: Improve test coverage for FIPS service indicators. * tests/basic.c (check_digests): Check the FIPS indicators. (check_mac): Ditto. -- Cherry-pick master commit of: fae63f517906ba8f46d255f1b5770665f2197ad9 Signed-off-by: Jakub Jelen --- tests/basic.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/basic.c b/tests/basic.c index 94a07320..febb6a61 100644 --- a/tests/basic.c +++ b/tests/basic.c @@ -13645,6 +13645,12 @@ check_digests (void) { if (in_fips_mode) { + err = gcry_control(GCRYCTL_FIPS_SERVICE_INDICATOR_MD, algos[i].md); + if (err == GPG_ERR_NO_ERROR) + { + fail ("algo %d, gcry_md_test_algo failed while it should" + " have worked in FIPS mode\n", algos[i].md); + } if (verbose) fprintf (stderr, " algorithm %d not available in fips mode\n", algos[i].md); @@ -15223,6 +15229,7 @@ check_mac (void) #endif /* USE_GOST28147 */ { 0 }, }; + gcry_error_t err; int i; if (verbose) @@ -15236,6 +15243,12 @@ check_mac (void) { if (in_fips_mode) { + err = gcry_control(GCRYCTL_FIPS_SERVICE_INDICATOR_MAC, algos[i].algo); + if (err == GPG_ERR_NO_ERROR) + { + fail ("algo %d, gcry_mac_test_algo failed while it should" + " have worked in FIPS mode\n", algos[i].algo); + } if (verbose) fprintf (stderr, " algorithm %d not available in fips mode\n", algos[i].algo); -- cgit v1.2.1