version 1.23, 2000/05/02 22:18:04 |
version 1.28, 2000/07/07 03:55:04 |
|
|
*/ |
*/ |
|
|
#include "includes.h" |
#include "includes.h" |
RCSID("$Id$"); |
RCSID("$OpenBSD$"); |
|
|
#include <openssl/evp.h> |
#include <openssl/evp.h> |
#include <openssl/pem.h> |
#include <openssl/pem.h> |
|
|
exit(1); |
exit(1); |
} |
} |
dsa_make_key_blob(k, &blob, &len); |
dsa_make_key_blob(k, &blob, &len); |
fprintf(stdout, SSH_COM_MAGIC_BEGIN "\n"); |
fprintf(stdout, "%s\n", SSH_COM_MAGIC_BEGIN); |
fprintf(stdout, |
fprintf(stdout, |
"Comment: \"%d-bit DSA, converted from openssh by %s@%s\"\n", |
"Comment: \"%d-bit DSA, converted from openssh by %s@%s\"\n", |
BN_num_bits(k->dsa->p), |
BN_num_bits(k->dsa->p), |
pw->pw_name, hostname); |
pw->pw_name, hostname); |
dump_base64(stdout, blob, len); |
dump_base64(stdout, blob, len); |
fprintf(stdout, SSH_COM_MAGIC_END "\n"); |
fprintf(stdout, "%s\n", SSH_COM_MAGIC_END); |
key_free(k); |
key_free(k); |
xfree(blob); |
xfree(blob); |
exit(0); |
exit(0); |
|
|
char blob[8096]; |
char blob[8096]; |
char encoded[8096]; |
char encoded[8096]; |
struct stat st; |
struct stat st; |
|
int escaped = 0; |
FILE *fp; |
FILE *fp; |
|
|
if (!have_identity) |
if (!have_identity) |
|
|
} |
} |
encoded[0] = '\0'; |
encoded[0] = '\0'; |
while (fgets(line, sizeof(line), fp)) { |
while (fgets(line, sizeof(line), fp)) { |
|
if (!(p = strchr(line, '\n'))) { |
|
fprintf(stderr, "input line too long.\n"); |
|
exit(1); |
|
} |
|
if (p > line && p[-1] == '\\') |
|
escaped++; |
if (strncmp(line, "----", 4) == 0 || |
if (strncmp(line, "----", 4) == 0 || |
strstr(line, ": ") != NULL) { |
strstr(line, ": ") != NULL) { |
fprintf(stderr, "ignore: %s", line); |
fprintf(stderr, "ignore: %s", line); |
continue; |
continue; |
} |
} |
if (!(p = strchr(line, '\n'))) { |
if (escaped) { |
fprintf(stderr, "input line too long.\n"); |
escaped--; |
exit(1); |
fprintf(stderr, "escaped: %s", line); |
|
continue; |
} |
} |
*p = '\0'; |
*p = '\0'; |
strlcat(encoded, line, sizeof(encoded)); |
strlcat(encoded, line, sizeof(encoded)); |
|
|
void |
void |
usage(void) |
usage(void) |
{ |
{ |
printf("ssh-keygen version %s\n", SSH_VERSION); |
printf("Usage: %s [-lpqxXydc] [-b bits] [-f file] [-C comment] [-N new-pass] [-P pass]\n", __progname); |
printf("Usage: %s [-b bits] [-c] [-d] [-f file] [-l] [-p] [-q] [-x] [-y] [-C comment] [-N new-pass] [-P pass] [-X]\n", __progname); |
|
exit(1); |
exit(1); |
} |
} |
|
|
|
|
extern int optind; |
extern int optind; |
extern char *optarg; |
extern char *optarg; |
|
|
OpenSSL_add_all_algorithms(); |
SSLeay_add_all_algorithms(); |
|
|
/* we need this for the home * directory. */ |
/* we need this for the home * directory. */ |
pw = getpwuid(getuid()); |
pw = getpwuid(getuid()); |