int main(int argc, char **argv) { if (argc != 2) { fprintf(stderr, "%s [mct|vst]\n", argv[0]); exit(1); } if (!FIPS_mode_set(1)) { do_print_errors(); exit(1); } FIPS_rand_reset(); if (!FIPS_rand_test_mode()) { fprintf(stderr, "Error setting PRNG test mode\n"); do_print_errors(); exit(1); } if (!strcmp(argv[1], "mct")) mct(); else if (!strcmp(argv[1], "vst")) vst(); else { fprintf(stderr, "Don't know how to %s.\n", argv[1]); exit(1); } return 0; }
int FIPS_selftest_rng() { FIPS_rand_reset(); if (!FIPS_rand_test_mode()) { FIPSerr(FIPS_F_FIPS_SELFTEST_RNG,FIPS_R_SELFTEST_FAILED); return 0; } if (!fips_rand_test(aes_128_key,aes_128_tv) || !fips_rand_test(aes_192_key, aes_192_tv) || !fips_rand_test(aes_256_key, aes_256_tv)) { FIPSerr(FIPS_F_FIPS_SELFTEST_RNG,FIPS_R_SELFTEST_FAILED); return 0; } FIPS_rand_reset(); return 1; }