version 1.34, 2001/11/21 15:51:24 |
version 1.35, 2001/12/05 10:06:12 |
|
|
dgst_raw = key_fingerprint_raw(k, dgst_type, &dgst_raw_len); |
dgst_raw = key_fingerprint_raw(k, dgst_type, &dgst_raw_len); |
if (!dgst_raw) |
if (!dgst_raw) |
fatal("key_fingerprint: null from key_fingerprint_raw()"); |
fatal("key_fingerprint: null from key_fingerprint_raw()"); |
switch(dgst_rep) { |
switch (dgst_rep) { |
case SSH_FP_HEX: |
case SSH_FP_HEX: |
retval = key_fingerprint_hex(dgst_raw, dgst_raw_len); |
retval = key_fingerprint_hex(dgst_raw, dgst_raw_len); |
break; |
break; |
|
|
|
|
cp = *cpp; |
cp = *cpp; |
|
|
switch(ret->type) { |
switch (ret->type) { |
case KEY_RSA1: |
case KEY_RSA1: |
/* Get number of bits. */ |
/* Get number of bits. */ |
if (*cp < '0' || *cp > '9') |
if (*cp < '0' || *cp > '9') |
|
|
return "ssh-unknown"; |
return "ssh-unknown"; |
} |
} |
u_int |
u_int |
key_size(Key *k){ |
key_size(Key *k) |
|
{ |
switch (k->type) { |
switch (k->type) { |
case KEY_RSA1: |
case KEY_RSA1: |
case KEY_RSA: |
case KEY_RSA: |
|
|
int |
int |
key_type_from_name(char *name) |
key_type_from_name(char *name) |
{ |
{ |
if (strcmp(name, "rsa1") == 0){ |
if (strcmp(name, "rsa1") == 0) { |
return KEY_RSA1; |
return KEY_RSA1; |
} else if (strcmp(name, "rsa") == 0){ |
} else if (strcmp(name, "rsa") == 0) { |
return KEY_RSA; |
return KEY_RSA; |
} else if (strcmp(name, "dsa") == 0){ |
} else if (strcmp(name, "dsa") == 0) { |
return KEY_DSA; |
return KEY_DSA; |
} else if (strcmp(name, "ssh-rsa") == 0){ |
} else if (strcmp(name, "ssh-rsa") == 0) { |
return KEY_RSA; |
return KEY_RSA; |
} else if (strcmp(name, "ssh-dss") == 0){ |
} else if (strcmp(name, "ssh-dss") == 0) { |
return KEY_DSA; |
return KEY_DSA; |
} |
} |
debug2("key_type_from_name: unknown key type '%s'", name); |
debug2("key_type_from_name: unknown key type '%s'", name); |
|
|
ktype = buffer_get_string(&b, NULL); |
ktype = buffer_get_string(&b, NULL); |
type = key_type_from_name(ktype); |
type = key_type_from_name(ktype); |
|
|
switch(type){ |
switch (type) { |
case KEY_RSA: |
case KEY_RSA: |
key = key_new(type); |
key = key_new(type); |
buffer_get_bignum2(&b, key->rsa->e); |
buffer_get_bignum2(&b, key->rsa->e); |
|
|
return 0; |
return 0; |
} |
} |
buffer_init(&b); |
buffer_init(&b); |
switch(key->type){ |
switch (key->type) { |
case KEY_DSA: |
case KEY_DSA: |
buffer_put_cstring(&b, key_ssh_name(key)); |
buffer_put_cstring(&b, key_ssh_name(key)); |
buffer_put_bignum2(&b, key->dsa->p); |
buffer_put_bignum2(&b, key->dsa->p); |
|
|
u_char **sigp, int *lenp, |
u_char **sigp, int *lenp, |
u_char *data, int datalen) |
u_char *data, int datalen) |
{ |
{ |
switch(key->type){ |
switch (key->type) { |
case KEY_DSA: |
case KEY_DSA: |
return ssh_dss_sign(key, sigp, lenp, data, datalen); |
return ssh_dss_sign(key, sigp, lenp, data, datalen); |
break; |
break; |
|
|
if (signaturelen == 0) |
if (signaturelen == 0) |
return -1; |
return -1; |
|
|
switch(key->type){ |
switch (key->type) { |
case KEY_DSA: |
case KEY_DSA: |
return ssh_dss_verify(key, signature, signaturelen, data, datalen); |
return ssh_dss_verify(key, signature, signaturelen, data, datalen); |
break; |
break; |