You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
39 lines
1.4 KiB
diff -up openssl-3.0.1/providers/fips/self_test.c.earlykats openssl-3.0.1/providers/fips/self_test.c |
|
--- openssl-3.0.1/providers/fips/self_test.c.earlykats 2022-01-19 13:10:00.635830783 +0100 |
|
+++ openssl-3.0.1/providers/fips/self_test.c 2022-01-19 13:11:43.309342656 +0100 |
|
@@ -362,6 +362,16 @@ int SELF_TEST_post(SELF_TEST_POST_PARAMS |
|
if (ev == NULL) |
|
goto end; |
|
|
|
+ /* |
|
+ * Run the KAT's before HMAC verification according to FIPS-140-3 requirements |
|
+ */ |
|
+ if (kats_already_passed == 0) { |
|
+ if (!SELF_TEST_kats(ev, st->libctx)) { |
|
+ ERR_raise(ERR_LIB_PROV, PROV_R_SELF_TEST_KAT_FAILURE); |
|
+ goto end; |
|
+ } |
|
+ } |
|
+ |
|
module_checksum = fips_hmac_container; |
|
checksum_len = sizeof(fips_hmac_container); |
|
|
|
@@ -411,18 +421,6 @@ int SELF_TEST_post(SELF_TEST_POST_PARAMS |
|
kats_already_passed = 1; |
|
} |
|
} |
|
- |
|
- /* |
|
- * Only runs the KAT's during installation OR on_demand(). |
|
- * NOTE: If the installation option 'self_test_onload' is chosen then this |
|
- * path will always be run, since kats_already_passed will always be 0. |
|
- */ |
|
- if (on_demand_test || kats_already_passed == 0) { |
|
- if (!SELF_TEST_kats(ev, st->libctx)) { |
|
- ERR_raise(ERR_LIB_PROV, PROV_R_SELF_TEST_KAT_FAILURE); |
|
- goto end; |
|
- } |
|
- } |
|
ok = 1; |
|
end: |
|
OSSL_SELF_TEST_free(ev);
|
|
|