version 1.7, 2001/03/27 10:34:08 |
version 1.8, 2001/03/27 10:57:00 |
|
|
#include "bufaux.h" |
#include "bufaux.h" |
#include "key.h" |
#include "key.h" |
#include "ssh-rsa.h" |
#include "ssh-rsa.h" |
|
#include "compat.h" |
|
|
/* RSASSA-PKCS1-v1_5 (PKCS #1 v2.0 signature) with SHA1 */ |
/* RSASSA-PKCS1-v1_5 (PKCS #1 v2.0 signature) with SHA1 */ |
int |
int |
|
|
error("ssh_rsa_sign: no RSA key"); |
error("ssh_rsa_sign: no RSA key"); |
return -1; |
return -1; |
} |
} |
nid = 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); |
return -1; |
return -1; |
|
|
error("ssh_rsa_verify: remaining bytes in signature %d", rlen); |
error("ssh_rsa_verify: remaining bytes in signature %d", rlen); |
return -1; |
return -1; |
} |
} |
nid = 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); |
xfree(sigblob); |
error("ssh_rsa_verify: EVP_get_digestbynid %d failed", nid); |
error("ssh_rsa_verify: EVP_get_digestbynid %d failed", nid); |