diff options
author | Ben Lindstrom <mouring@eviladmin.org> | 2001-06-25 05:04:58 +0000 |
---|---|---|
committer | Ben Lindstrom <mouring@eviladmin.org> | 2001-06-25 05:04:58 +0000 |
commit | e586c4ce3f4af32ef9eed72344f0fc7f43b9e58a (patch) | |
tree | b60af47e04600d27cbc5435839418373fe13d4ca | |
parent | bba81213b972ce15fbbaca60b9ffabb42371ce8f (diff) |
- markus@cvs.openbsd.org 2001/06/23 17:05:22
[ssh-keygen.c]
fix import for (broken?) ssh.com/f-secure private keys
(i tested > 1000 RSA keys)
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | ssh-keygen.c | 22 |
2 files changed, 17 insertions, 13 deletions
@@ -32,7 +32,7 @@ | |||
32 | - markus@cvs.openbsd.org 2001/06/22 22:21:20 | 32 | - markus@cvs.openbsd.org 2001/06/22 22:21:20 |
33 | [sftp-server.c] | 33 | [sftp-server.c] |
34 | allow long usernames/groups in readdir | 34 | allow long usernames/groups in readdir |
35 | - markus@cvs.openbsd.org 2001/06/22 23:35:21 | 35 | - markus@cvs.openbsd.org 2001/06/22 23:35:21 |
36 | [ssh.c] | 36 | [ssh.c] |
37 | don't overwrite argv (fixes ssh user@host in 'ps'), report by ericj@ | 37 | don't overwrite argv (fixes ssh user@host in 'ps'), report by ericj@ |
38 | - deraadt@cvs.openbsd.org 2001/06/23 00:16:16 | 38 | - deraadt@cvs.openbsd.org 2001/06/23 00:16:16 |
@@ -78,6 +78,10 @@ | |||
78 | more strict prototypes. raise warning level in Makefile.inc. | 78 | more strict prototypes. raise warning level in Makefile.inc. |
79 | markus ok'ed | 79 | markus ok'ed |
80 | TODO; cleanup headers | 80 | TODO; cleanup headers |
81 | - markus@cvs.openbsd.org 2001/06/23 17:05:22 | ||
82 | [ssh-keygen.c] | ||
83 | fix import for (broken?) ssh.com/f-secure private keys | ||
84 | (i tested > 1000 RSA keys) | ||
81 | 85 | ||
82 | 20010622 | 86 | 20010622 |
83 | - (stevesk) handle systems without pw_expire and pw_change. | 87 | - (stevesk) handle systems without pw_expire and pw_change. |
@@ -5762,4 +5766,4 @@ | |||
5762 | - Wrote replacements for strlcpy and mkdtemp | 5766 | - Wrote replacements for strlcpy and mkdtemp |
5763 | - Released 1.0pre1 | 5767 | - Released 1.0pre1 |
5764 | 5768 | ||
5765 | $Id: ChangeLog,v 1.1315 2001/06/25 05:01:22 mouring Exp $ | 5769 | $Id: ChangeLog,v 1.1316 2001/06/25 05:04:58 mouring Exp $ |
diff --git a/ssh-keygen.c b/ssh-keygen.c index 22946587f..51b003405 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c | |||
@@ -12,7 +12,7 @@ | |||
12 | */ | 12 | */ |
13 | 13 | ||
14 | #include "includes.h" | 14 | #include "includes.h" |
15 | RCSID("$OpenBSD: ssh-keygen.c,v 1.63 2001/06/23 15:12:20 itojun Exp $"); | 15 | RCSID("$OpenBSD: ssh-keygen.c,v 1.64 2001/06/23 17:05:22 markus Exp $"); |
16 | 16 | ||
17 | #include <openssl/evp.h> | 17 | #include <openssl/evp.h> |
18 | #include <openssl/pem.h> | 18 | #include <openssl/pem.h> |
@@ -187,9 +187,11 @@ do_convert_private_ssh2_from_blob(char *blob, int blen) | |||
187 | { | 187 | { |
188 | Buffer b; | 188 | Buffer b; |
189 | Key *key = NULL; | 189 | Key *key = NULL; |
190 | char *type, *cipher; | ||
191 | u_char *sig, data[10] = "abcde12345"; | ||
190 | int magic, rlen, ktype, i1, i2, i3, i4; | 192 | int magic, rlen, ktype, i1, i2, i3, i4; |
193 | u_int slen; | ||
191 | u_long e; | 194 | u_long e; |
192 | char *type, *cipher; | ||
193 | 195 | ||
194 | buffer_init(&b); | 196 | buffer_init(&b); |
195 | buffer_append(&b, blob, blen); | 197 | buffer_append(&b, blob, blen); |
@@ -264,16 +266,11 @@ do_convert_private_ssh2_from_blob(char *blob, int blen) | |||
264 | error("do_convert_private_ssh2_from_blob: " | 266 | error("do_convert_private_ssh2_from_blob: " |
265 | "remaining bytes in key blob %d", rlen); | 267 | "remaining bytes in key blob %d", rlen); |
266 | buffer_free(&b); | 268 | buffer_free(&b); |
267 | #ifdef DEBUG_PK | ||
268 | { | ||
269 | u_int slen; | ||
270 | u_char *sig, data[10] = "abcde12345"; | ||
271 | 269 | ||
272 | key_sign(key, &sig, &slen, data, sizeof(data)); | 270 | /* try the key */ |
273 | key_verify(key, sig, slen, data, sizeof(data)); | 271 | key_sign(key, &sig, &slen, data, sizeof(data)); |
274 | xfree(sig); | 272 | key_verify(key, sig, slen, data, sizeof(data)); |
275 | } | 273 | xfree(sig); |
276 | #endif | ||
277 | return key; | 274 | return key; |
278 | } | 275 | } |
279 | 276 | ||
@@ -312,6 +309,9 @@ do_convert_from_ssh2(struct passwd *pw) | |||
312 | strstr(line, ": ") != NULL) { | 309 | strstr(line, ": ") != NULL) { |
313 | if (strstr(line, SSH_COM_PRIVATE_BEGIN) != NULL) | 310 | if (strstr(line, SSH_COM_PRIVATE_BEGIN) != NULL) |
314 | private = 1; | 311 | private = 1; |
312 | if (strstr(line, " END ") != NULL) { | ||
313 | break; | ||
314 | } | ||
315 | /* fprintf(stderr, "ignore: %s", line); */ | 315 | /* fprintf(stderr, "ignore: %s", line); */ |
316 | continue; | 316 | continue; |
317 | } | 317 | } |