#include #include #include "argparse.h" #include "certificate.h" #include "speed.h" #include "entropy.h" #define BUF_MODULE_SIZE 64 static void usage(const char *); int main(int argc, char *argv[]){ int res = -1; char modules[BUF_MODULE_SIZE]; memset(modules, 0, BUF_MODULE_SIZE); res = check_arguments(argv, argc, modules, BUF_MODULE_SIZE); if (res == -1){ usage(argv[0]); return -1; } printf("Module: %s\n", modules); if (strncmp(modules, "speed", BUF_MODULE_SIZE) == 0){ res = speed(argv, argc); if (res == -1){ usage(argv[0]); return -1; } } if (strncmp(modules, "certificate", BUF_MODULE_SIZE) == 0){ res = certificate(argv, argc); if (res == -1){ usage(argv[0]); return -1; } } if (strncmp(modules, "entropy", BUF_MODULE_SIZE) == 0){ res = entropy(argv, argc); if (res == -1){ usage(argv[0]); return -1; } } return 0; } static void usage(const char *script){ printf("Usage %s -m \n", script); printf("Modules:\n"); printf("\tcertificate: Check if the certificate is compliant with FIP 140-3 and check the certificate security file\n"); printf("\tspeed: Check the time for creating the certificate\n"); printf("\tentropy: Check the entropy in the kernel\n\n"); printf("Certificate Modules:\n"); printf("\t-type \n"); printf("\t-pubin \n"); printf("\t-privin \n"); printf("\t-text: print in text the certificate\n\n"); printf("Speed Modules:\n"); printf("\t-type \n"); }