version 1.8.2.1, 2001/09/27 19:03:55 |
version 1.8.2.2, 2001/11/15 22:51:15 |
|
|
error("ssh_rsa_sign: no RSA key"); |
error("ssh_rsa_sign: no RSA key"); |
return -1; |
return -1; |
} |
} |
|
if (datafellows & SSH_BUG_SIGBLOB) { |
|
error("ssh_rsa_sign: SSH_BUG_SIGBLOB not supported"); |
|
return -1; |
|
} |
nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1; |
nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1; |
if ((evp_md = EVP_get_digestbynid(nid)) == NULL) { |
if ((evp_md = EVP_get_digestbynid(nid)) == NULL) { |
error("ssh_rsa_sign: EVP_get_digestbynid %d failed", nid); |
error("ssh_rsa_sign: EVP_get_digestbynid %d failed", nid); |
|
|
error("ssh_rsa_verify: no RSA key"); |
error("ssh_rsa_verify: no RSA key"); |
return -1; |
return -1; |
} |
} |
|
if (datafellows & SSH_BUG_SIGBLOB) { |
|
error("ssh_rsa_verify: SSH_BUG_SIGBLOB not supported"); |
|
return -1; |
|
} |
if (BN_num_bits(key->rsa->n) < 768) { |
if (BN_num_bits(key->rsa->n) < 768) { |
error("ssh_rsa_verify: n too small: %d bits", |
error("ssh_rsa_verify: n too small: %d bits", |
BN_num_bits(key->rsa->n)); |
BN_num_bits(key->rsa->n)); |
|
|
rlen = buffer_len(&b); |
rlen = buffer_len(&b); |
buffer_free(&b); |
buffer_free(&b); |
if(rlen != 0) { |
if(rlen != 0) { |
xfree(sigblob); |
|
error("ssh_rsa_verify: remaining bytes in signature %d", rlen); |
error("ssh_rsa_verify: remaining bytes in signature %d", rlen); |
|
xfree(sigblob); |
return -1; |
return -1; |
} |
} |
nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1; |
nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1; |
if ((evp_md = EVP_get_digestbynid(nid)) == NULL) { |
if ((evp_md = EVP_get_digestbynid(nid)) == NULL) { |
xfree(sigblob); |
|
error("ssh_rsa_verify: EVP_get_digestbynid %d failed", nid); |
error("ssh_rsa_verify: EVP_get_digestbynid %d failed", nid); |
|
xfree(sigblob); |
return -1; |
return -1; |
} |
} |
dlen = evp_md->md_size; |
dlen = evp_md->md_size; |