for(i = 0; i < sizeof(userkey); i++) printf("%02x", userkey[i]);
printf("\n");
+ FIPS_rsa_free(key);
+
return 1;
}
}
rv = 1;
err:
- FIPS_drbg_uninstantiate(dctx);
+ FIPS_drbg_free(dctx);
return rv;
}
return 1;
}
-int main(int argc,char **argv)
+#ifdef FIPS_ALGVS
+int fips_test_suite_main(int argc, char **argv)
+#else
+int main(int argc, char **argv)
+#endif
{
int bad_rsa = 0, bad_dsa = 0;
int do_rng_stick = 0;
int do_drbg_stick = 0;
int no_exit = 0;
int no_dh = 0;
+ char *pass = FIPS_AUTH_USER_PASS;
FIPS_post_set_callback(post_cb);
do_drbg_stick = 1;
no_exit = 1;
printf("DRBG test with stuck continuous test...\n");
+ } else if (!strcmp(argv[1], "user")) {
+ pass = FIPS_AUTH_USER_PASS;
+ } else if (!strcmp(argv[1], "officer")) {
+ pass = FIPS_AUTH_OFFICER_PASS;
+ } else if (!strcmp(argv[1], "badpass")) {
+ pass = "bad invalid password";
+ } else if (!strcmp(argv[1], "nopass")) {
+ pass = "";
} else {
printf("Bad argument \"%s\"\n", argv[1]);
- exit(1);
+ return 1;
}
if (!no_exit) {
fips_algtest_init_nofips();
- if (!FIPS_module_mode_set(1)) {
+ if (!FIPS_module_mode_set(1, pass)) {
printf("Power-up self test failed\n");
- exit(1);
+ return 1;
}
printf("Power-up self test successful\n");
- exit(0);
+ return 0;
}
}
/* Power-up self test
*/
ERR_clear_error();
- test_msg("2. Automatic power-up self test", FIPS_module_mode_set(1));
+ test_msg("2. Automatic power-up self test", FIPS_module_mode_set(1, pass));
if (!FIPS_module_mode())
- exit(1);
+ return 1;
if (do_drbg_stick)
FIPS_drbg_stick();
if (do_rng_stick)