Пример #1
0
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;
	}