version 1.82, 2001/09/28 12:07:09 |
version 1.87, 2001/12/21 08:52:22 |
|
|
int convert_from_ssh2 = 0; |
int convert_from_ssh2 = 0; |
int print_public = 0; |
int print_public = 0; |
|
|
/* default to RSA for SSH-1 */ |
char *key_type_name = NULL; |
char *key_type_name = "rsa1"; |
|
|
|
/* argv0 */ |
/* argv0 */ |
extern char *__progname; |
extern char *__progname; |
|
|
break; |
break; |
} |
} |
rlen = buffer_len(&b); |
rlen = buffer_len(&b); |
if(rlen != 0) |
if (rlen != 0) |
error("do_convert_private_ssh2_from_blob: " |
error("do_convert_private_ssh2_from_blob: " |
"remaining bytes in key blob %d", rlen); |
"remaining bytes in key blob %d", rlen); |
buffer_free(&b); |
buffer_free(&b); |
|
|
debug("#bytes %d", len); \ |
debug("#bytes %d", len); \ |
if (BN_bn2bin(prv->rsa->x, elements[i]) < 0) \ |
if (BN_bn2bin(prv->rsa->x, elements[i]) < 0) \ |
goto done; \ |
goto done; \ |
} while(0) |
} while (0) |
|
|
static int |
static int |
get_AUT0(char *aut0) |
get_AUT0(char *aut0) |
|
|
FILE *f; |
FILE *f; |
Key *public; |
Key *public; |
char *comment = NULL, *cp, *ep, line[16*1024], *fp; |
char *comment = NULL, *cp, *ep, line[16*1024], *fp; |
int i, skip = 0, num = 1, invalid = 1, rep, fptype; |
int i, skip = 0, num = 1, invalid = 1; |
|
enum fp_rep rep; |
|
enum fp_type fptype; |
struct stat st; |
struct stat st; |
|
|
fptype = print_bubblebabble ? SSH_FP_SHA1 : SSH_FP_MD5; |
fptype = print_bubblebabble ? SSH_FP_SHA1 : SSH_FP_MD5; |
|
|
fclose(f); |
fclose(f); |
} |
} |
if (invalid) { |
if (invalid) { |
printf("%s is not a valid key file.\n", identity_file); |
printf("%s is not a public key file.\n", identity_file); |
exit(1); |
exit(1); |
} |
} |
exit(0); |
exit(0); |
|
|
read_passphrase("Enter new passphrase (empty for no " |
read_passphrase("Enter new passphrase (empty for no " |
"passphrase): ", RP_ALLOW_STDIN); |
"passphrase): ", RP_ALLOW_STDIN); |
passphrase2 = read_passphrase("Enter same passphrase again: ", |
passphrase2 = read_passphrase("Enter same passphrase again: ", |
RP_ALLOW_STDIN); |
RP_ALLOW_STDIN); |
|
|
/* Verify that they are the same. */ |
/* Verify that they are the same. */ |
if (strcmp(passphrase1, passphrase2) != 0) { |
if (strcmp(passphrase1, passphrase2) != 0) { |
|
|
fprintf(stderr, "Comments are only supported for RSA1 keys.\n"); |
fprintf(stderr, "Comments are only supported for RSA1 keys.\n"); |
key_free(private); |
key_free(private); |
exit(1); |
exit(1); |
} |
} |
printf("Key now has comment '%s'\n", comment); |
printf("Key now has comment '%s'\n", comment); |
|
|
if (identity_comment) { |
if (identity_comment) { |
|
|
int |
int |
main(int ac, char **av) |
main(int ac, char **av) |
{ |
{ |
char dotsshdir[16 * 1024], comment[1024], *passphrase1, *passphrase2; |
char dotsshdir[MAXPATHLEN], comment[1024], *passphrase1, *passphrase2; |
char *reader_id = NULL; |
char *reader_id = NULL; |
Key *private, *public; |
Key *private, *public; |
struct passwd *pw; |
struct passwd *pw; |
|
|
} |
} |
if (optind < ac) { |
if (optind < ac) { |
printf("Too many arguments.\n"); |
printf("Too many arguments.\n"); |
|
usage(); |
|
} |
|
if (key_type_name == NULL) { |
|
printf("You must specify a key type (-t).\n"); |
usage(); |
usage(); |
} |
} |
if (change_passphrase && change_comment) { |
if (change_passphrase && change_comment) { |