X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fsptps_keypair.c;h=17d26f9342dfbe2542fa95fa774af1da11d046ee;hb=0fe69908838248c28624beb540257892db6bdcbd;hp=22433b93cb0e873cbaad7a9c88cc57804f97354b;hpb=28b7a53b693f6b4e70218a926e68a36ece54cda1;p=tinc diff --git a/src/sptps_keypair.c b/src/sptps_keypair.c index 22433b93..17d26f93 100644 --- a/src/sptps_keypair.c +++ b/src/sptps_keypair.c @@ -19,13 +19,11 @@ #include "system.h" -#include - #include "crypto.h" +#include "random.h" #include "ecdsagen.h" #include "logger.h" - -static char *program_name; +#include "names.h" void logger(debug_t level, int priority, const char *format, ...) { (void)level; @@ -52,40 +50,7 @@ static struct option const long_options[] = { {NULL, 0, NULL, 0} }; -int main(int argc, char *argv[]) { - program_name = argv[0]; - int r; - int option_index = 0; - - while((r = getopt_long(argc, argv, "", long_options, &option_index)) != EOF) { - switch(r) { - case 0: /* long option */ - break; - - case '?': /* wrong options */ - usage(); - return 1; - - case 1: /* help */ - usage(); - return 0; - - default: - break; - } - } - - argc -= optind - 1; - argv += optind - 1; - - if(argc != 3) { - fprintf(stderr, "Wrong number of arguments.\n"); - usage(); - return 1; - } - - crypto_init(); - +static int generate_keypair(char *argv[]) { ecdsa_t *key = ecdsa_generate(); if(!key) { @@ -124,3 +89,45 @@ int main(int argc, char *argv[]) { return 1; } } + +int main(int argc, char *argv[]) { + program_name = argv[0]; + int r; + int option_index = 0; + + while((r = getopt_long(argc, argv, "", long_options, &option_index)) != EOF) { + switch(r) { + case 0: /* long option */ + break; + + case '?': /* wrong options */ + usage(); + return 1; + + case 1: /* help */ + usage(); + return 0; + + default: + break; + } + } + + argc -= optind - 1; + argv += optind - 1; + + if(argc != 3) { + fprintf(stderr, "Wrong number of arguments.\n"); + usage(); + return 1; + } + + random_init(); + crypto_init(); + + int result = generate_keypair(argv); + + random_exit(); + + return result; +}