version 1.20, 2000/09/07 20:27:51 |
version 1.21, 2000/11/12 19:50:37 |
|
|
int |
int |
hostfile_read_key(char **cpp, unsigned int *bitsp, Key *ret) |
hostfile_read_key(char **cpp, unsigned int *bitsp, Key *ret) |
{ |
{ |
unsigned int bits; |
|
char *cp; |
char *cp; |
|
|
/* Skip leading whitespace. */ |
/* Skip leading whitespace. */ |
for (cp = *cpp; *cp == ' ' || *cp == '\t'; cp++) |
for (cp = *cpp; *cp == ' ' || *cp == '\t'; cp++) |
; |
; |
|
|
bits = key_read(ret, &cp); |
if (key_read(ret, &cp) != 1) |
if (bits == 0) |
|
return 0; |
return 0; |
|
|
/* Skip trailing whitespace. */ |
/* Skip trailing whitespace. */ |
|
|
|
|
/* Return results. */ |
/* Return results. */ |
*cpp = cp; |
*cpp = cp; |
*bitsp = bits; |
*bitsp = key_size(ret); |
return 1; |
return 1; |
} |
} |
|
|
int |
int |
auth_rsa_read_key(char **cpp, unsigned int *bitsp, BIGNUM * e, BIGNUM * n) |
auth_rsa_read_key(char **cpp, unsigned int *bitsp, BIGNUM * e, BIGNUM * n) |
{ |
{ |
Key *k = key_new(KEY_RSA); |
Key *k = key_new(KEY_RSA1); |
int ret = hostfile_read_key(cpp, bitsp, k); |
int ret = hostfile_read_key(cpp, bitsp, k); |
BN_copy(e, k->rsa->e); |
BN_copy(e, k->rsa->e); |
BN_copy(n, k->rsa->n); |
BN_copy(n, k->rsa->n); |
|
|
int |
int |
hostfile_check_key(int bits, Key *key, const char *host, const char *filename, int linenum) |
hostfile_check_key(int bits, Key *key, const char *host, const char *filename, int linenum) |
{ |
{ |
if (key == NULL || key->type != KEY_RSA || key->rsa == NULL) |
if (key == NULL || key->type != KEY_RSA1 || key->rsa == NULL) |
return 1; |
return 1; |
if (bits != BN_num_bits(key->rsa->n)) { |
if (bits != BN_num_bits(key->rsa->n)) { |
log("Warning: %s, line %d: keysize mismatch for host %s: " |
log("Warning: %s, line %d: keysize mismatch for host %s: " |