void doit(void) { if (check_x509_privkey() != 0) { fail("error in privkey check\n"); exit(1); } if (check_privkey_import_export() != 0) { fail("error in privkey import/export check\n"); exit(1); } if (check_dsa() != 0) { fail("error in DSA check\n"); exit(1); } if (check_rsa() != 0) { fail("error in RSA check\n"); exit(1); } if (check_ecc() != 0) { fail("error in ecdsa check\n"); } if (check_ed25519() != 0) { fail("error in ed25519 check\n"); } if (check_gost() != 0) { fail("error in gost check\n"); } }
int main (int argc, char **argv) { int last_argc = -1; char *fname = NULL; if (argc) { argc--; argv++; } while (argc && last_argc != argc ) { last_argc = argc; if (!strcmp (*argv, "--")) { argc--; argv++; break; } else if (!strcmp (*argv, "--help")) { fputs ("usage: " PGM " [options]\n" "Options:\n" " --verbose print timings etc.\n" " --debug flyswatter\n" " --sign-with-pk also use the public key for signing\n" " --no-verify skip the verify test\n" " --data FNAME take test data from file FNAME\n", stdout); exit (0); } else if (!strcmp (*argv, "--verbose")) { verbose++; argc--; argv++; } else if (!strcmp (*argv, "--debug")) { verbose += 2; debug++; argc--; argv++; } else if (!strcmp (*argv, "--sign-with-pk")) { sign_with_pk = 1; argc--; argv++; } else if (!strcmp (*argv, "--no-verify")) { no_verify = 1; argc--; argv++; } else if (!strcmp (*argv, "--data")) { argc--; argv++; if (argc) { xfree (fname); fname = xstrdup (*argv); argc--; argv++; } } else if (!strncmp (*argv, "--", 2)) die ("unknown option '%s'", *argv); } if (!fname) fname = prepend_srcdir ("t-ed25519.inp"); else custom_data_file = 1; gcry_control (GCRYCTL_DISABLE_SECMEM, 0); if (!gcry_check_version (GCRYPT_VERSION)) die ("version mismatch\n"); if (debug) gcry_control (GCRYCTL_SET_DEBUG_FLAGS, 1u , 0); gcry_control (GCRYCTL_ENABLE_QUICK_RANDOM, 0); gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0); start_timer (); check_ed25519 (fname); stop_timer (); xfree (fname); show ("All tests completed in %s. Errors: %d\n", elapsed_time (1), error_count); return !!error_count; }