version 1.39, 2013/12/06 13:39:49 |
version 1.40, 2014/04/01 02:05:27 |
|
|
struct passwd *pw; |
struct passwd *pw; |
int key_fd[NUM_KEYTYPES], i, found, version = 2, fd; |
int key_fd[NUM_KEYTYPES], i, found, version = 2, fd; |
u_char *signature, *data; |
u_char *signature, *data; |
char *host; |
char *host, *fp; |
u_int slen, dlen; |
u_int slen, dlen; |
u_int32_t rnd[256]; |
u_int32_t rnd[256]; |
|
|
|
|
fatal("could not open any host key"); |
fatal("could not open any host key"); |
|
|
OpenSSL_add_all_algorithms(); |
OpenSSL_add_all_algorithms(); |
for (i = 0; i < 256; i++) |
arc4random_buf(rnd, sizeof(rnd)); |
rnd[i] = arc4random(); |
|
RAND_seed(rnd, sizeof(rnd)); |
RAND_seed(rnd, sizeof(rnd)); |
|
|
found = 0; |
found = 0; |
|
|
break; |
break; |
} |
} |
} |
} |
if (!found) |
if (!found) { |
fatal("no matching hostkey found"); |
fp = key_fingerprint(key, SSH_FP_MD5, SSH_FP_HEX); |
|
fatal("no matching hostkey found for key %s %s", |
|
key_type(key), fp); |
|
} |
|
|
if (key_sign(keys[i], &signature, &slen, data, dlen) != 0) |
if (key_sign(keys[i], &signature, &slen, data, dlen) != 0) |
fatal("key_sign failed"); |
fatal("key_sign failed"); |