version 1.100, 2002/06/19 00:27:55 |
version 1.104, 2003/05/11 16:56:48 |
|
|
|
|
snprintf(identity_file, sizeof(identity_file), "%s/%s", pw->pw_dir, name); |
snprintf(identity_file, sizeof(identity_file), "%s/%s", pw->pw_dir, name); |
fprintf(stderr, "%s (%s): ", prompt, identity_file); |
fprintf(stderr, "%s (%s): ", prompt, identity_file); |
fflush(stderr); |
|
if (fgets(buf, sizeof(buf), stdin) == NULL) |
if (fgets(buf, sizeof(buf), stdin) == NULL) |
exit(1); |
exit(1); |
if (strchr(buf, '\n')) |
if (strchr(buf, '\n')) |
|
|
exit(1); |
exit(1); |
} |
} |
} |
} |
|
if (k->type == KEY_RSA1) { |
|
fprintf(stderr, "version 1 keys are not supported\n"); |
|
exit(1); |
|
} |
if (key_to_blob(k, &blob, &len) <= 0) { |
if (key_to_blob(k, &blob, &len) <= 0) { |
fprintf(stderr, "key_to_blob failed\n"); |
fprintf(stderr, "key_to_blob failed\n"); |
exit(1); |
exit(1); |
} |
} |
fprintf(stdout, "%s\n", SSH_COM_PUBLIC_BEGIN); |
fprintf(stdout, "%s\n", SSH_COM_PUBLIC_BEGIN); |
fprintf(stdout, |
fprintf(stdout, |
"Comment: \"%d-bit %s, converted from OpenSSH by %s@%s\"\n", |
"Comment: \"%u-bit %s, converted from OpenSSH by %s@%s\"\n", |
key_size(k), key_type(k), |
key_size(k), key_type(k), |
pw->pw_name, hostname); |
pw->pw_name, hostname); |
dump_base64(stdout, blob, len); |
dump_base64(stdout, blob, len); |
|
|
key_free(prv); |
key_free(prv); |
if (ret < 0) |
if (ret < 0) |
exit(1); |
exit(1); |
log("loading key done"); |
logit("loading key done"); |
exit(0); |
exit(0); |
} |
} |
|
|
|
|
public = key_load_public(identity_file, &comment); |
public = key_load_public(identity_file, &comment); |
if (public != NULL) { |
if (public != NULL) { |
fp = key_fingerprint(public, fptype, rep); |
fp = key_fingerprint(public, fptype, rep); |
printf("%d %s %s\n", key_size(public), fp, comment); |
printf("%u %s %s\n", key_size(public), fp, comment); |
key_free(public); |
key_free(public); |
xfree(comment); |
xfree(comment); |
xfree(fp); |
xfree(fp); |
|
|
if (i == 0 || ep == NULL || (*ep != ' ' && *ep != '\t')) { |
if (i == 0 || ep == NULL || (*ep != ' ' && *ep != '\t')) { |
int quoted = 0; |
int quoted = 0; |
comment = cp; |
comment = cp; |
for (; *cp && (quoted || (*cp != ' ' && *cp != '\t')); cp++) { |
for (; *cp && (quoted || (*cp != ' ' && |
|
*cp != '\t')); cp++) { |
if (*cp == '\\' && cp[1] == '"') |
if (*cp == '\\' && cp[1] == '"') |
cp++; /* Skip both */ |
cp++; /* Skip both */ |
else if (*cp == '"') |
else if (*cp == '"') |
|
|
} |
} |
comment = *cp ? cp : comment; |
comment = *cp ? cp : comment; |
fp = key_fingerprint(public, fptype, rep); |
fp = key_fingerprint(public, fptype, rep); |
printf("%d %s %s\n", key_size(public), fp, |
printf("%u %s %s\n", key_size(public), fp, |
comment ? comment : "no comment"); |
comment ? comment : "no comment"); |
xfree(fp); |
xfree(fp); |
key_free(public); |
key_free(public); |