version 1.214, 2012/05/23 03:28:28 |
version 1.215, 2012/07/06 00:41:59 |
|
|
|
|
/* moduli.c */ |
/* moduli.c */ |
int gen_candidates(FILE *, u_int32_t, u_int32_t, BIGNUM *); |
int gen_candidates(FILE *, u_int32_t, u_int32_t, BIGNUM *); |
int prime_test(FILE *, FILE *, u_int32_t, u_int32_t, char *); |
int prime_test(FILE *, FILE *, u_int32_t, u_int32_t, char *, unsigned long, |
|
unsigned long); |
|
|
static void |
static void |
type_bits_valid(int type, u_int32_t *bitsp) |
type_bits_valid(int type, u_int32_t *bitsp) |
|
|
fprintf(stderr, " -h Generate host certificate instead of a user certificate.\n"); |
fprintf(stderr, " -h Generate host certificate instead of a user certificate.\n"); |
fprintf(stderr, " -I key_id Key identifier to include in certificate.\n"); |
fprintf(stderr, " -I key_id Key identifier to include in certificate.\n"); |
fprintf(stderr, " -i Import foreign format to OpenSSH key file.\n"); |
fprintf(stderr, " -i Import foreign format to OpenSSH key file.\n"); |
|
fprintf(stderr, " -J number Screen this number of moduli lines\n"); |
|
fprintf(stderr, " -j number Start screening moduli at specified line.\n"); |
fprintf(stderr, " -K checkpt Write checkpoints to this file.\n"); |
fprintf(stderr, " -K checkpt Write checkpoints to this file.\n"); |
fprintf(stderr, " -L Print the contents of a certificate.\n"); |
fprintf(stderr, " -L Print the contents of a certificate.\n"); |
fprintf(stderr, " -l Show fingerprint of key file.\n"); |
fprintf(stderr, " -l Show fingerprint of key file.\n"); |
|
|
u_int32_t memory = 0, generator_wanted = 0, trials = 100; |
u_int32_t memory = 0, generator_wanted = 0, trials = 100; |
int do_gen_candidates = 0, do_screen_candidates = 0; |
int do_gen_candidates = 0, do_screen_candidates = 0; |
int gen_all_hostkeys = 0; |
int gen_all_hostkeys = 0; |
|
unsigned long start_lineno = 0, lines_to_process = 0; |
BIGNUM *start = NULL; |
BIGNUM *start = NULL; |
FILE *f; |
FILE *f; |
const char *errstr; |
const char *errstr; |
|
|
exit(1); |
exit(1); |
} |
} |
|
|
while ((opt = getopt(argc, argv, "AegiqpclBHLhvxXyF:b:f:t:D:I:K:P:m:N:n:" |
while ((opt = getopt(argc, argv, "AegiqpclBHLhvxXyF:b:f:t:D:I:J:j:K:P:" |
"O:C:r:g:R:T:G:M:S:s:a:V:W:z:")) != -1) { |
"m:N:n:O:C:r:g:R:T:G:M:S:s:a:V:W:z")) != -1) { |
switch (opt) { |
switch (opt) { |
case 'A': |
case 'A': |
gen_all_hostkeys = 1; |
gen_all_hostkeys = 1; |
|
|
case 'I': |
case 'I': |
cert_key_id = optarg; |
cert_key_id = optarg; |
break; |
break; |
|
case 'J': |
|
lines_to_process = strtoul(optarg, NULL, 10); |
|
break; |
|
case 'j': |
|
start_lineno = strtoul(optarg, NULL, 10); |
|
break; |
case 'R': |
case 'R': |
delete_host = 1; |
delete_host = 1; |
rr_hostname = optarg; |
rr_hostname = optarg; |
|
|
fatal("Couldn't open moduli file \"%s\": %s", |
fatal("Couldn't open moduli file \"%s\": %s", |
out_file, strerror(errno)); |
out_file, strerror(errno)); |
} |
} |
if (prime_test(in, out, trials, generator_wanted, checkpoint) |
if (prime_test(in, out, trials, generator_wanted, checkpoint, |
!= 0) |
start_lineno, lines_to_process) != 0) |
fatal("modulus screening failed"); |
fatal("modulus screening failed"); |
return (0); |
return (0); |
} |
} |