version 1.60, 2001/04/23 22:14:13 |
version 1.61, 2001/05/25 14:37:32 |
|
|
} |
} |
|
|
Key * |
Key * |
try_load_pem_key(char *filename) |
load_identity(char *filename) |
{ |
{ |
char *pass; |
char *pass; |
Key *prv; |
Key *prv; |
|
|
prv = key_load_private(filename, "", NULL); |
prv = key_load_private(filename, "", NULL); |
if (prv == NULL) { |
if (prv == NULL) { |
pass = read_passphrase("Enter passphrase: ", 1); |
if (identity_passphrase) |
|
pass = xstrdup(identity_passphrase); |
|
else |
|
pass = read_passphrase("Enter passphrase: ", 1); |
prv = key_load_private(filename, pass, NULL); |
prv = key_load_private(filename, pass, NULL); |
memset(pass, 0, strlen(pass)); |
memset(pass, 0, strlen(pass)); |
xfree(pass); |
xfree(pass); |
|
|
exit(1); |
exit(1); |
} |
} |
if ((k = key_load_public(identity_file, NULL)) == NULL) { |
if ((k = key_load_public(identity_file, NULL)) == NULL) { |
if ((k = try_load_pem_key(identity_file)) == NULL) { |
if ((k = load_identity(identity_file)) == NULL) { |
fprintf(stderr, "load failed\n"); |
fprintf(stderr, "load failed\n"); |
exit(1); |
exit(1); |
} |
} |
|
|
perror(identity_file); |
perror(identity_file); |
exit(1); |
exit(1); |
} |
} |
prv = try_load_pem_key(identity_file); |
prv = load_identity(identity_file); |
if (prv == NULL) { |
if (prv == NULL) { |
fprintf(stderr, "load failed\n"); |
fprintf(stderr, "load failed\n"); |
exit(1); |
exit(1); |