detect SHA256, SHA384, and SHA512 NID types when signing

This commit is contained in:
Jacob Barthelmeh
2017-04-06 10:56:24 -06:00
parent 1f8df3e403
commit 1d792b0b44

View File

@ -899,12 +899,25 @@ static int md2nid(int md)
{
const char * d ;
d = (const char *)wolfSSL_EVP_get_md((const unsigned char)md);
if (d == NULL) {
return MEMORY_E;
if (XSTRNCMP(d, "SHA", 3) == 0) {
if (XSTRLEN(d) > 3) {
if (XSTRNCMP(d, "SHA256", 6) == 0) {
return NID_sha256;
}
if (XSTRNCMP(d, "SHA384", 6) == 0) {
return NID_sha384;
}
if (XSTRNCMP(d, "SHA512", 6) == 0) {
return NID_sha512;
}
WOLFSSL_MSG("Unknown SHA type");
return 0;
}
else {
return NID_sha1;
}
}
if (XSTRNCMP(d, "SHA", 3) == 0) return NID_sha1;
if (XSTRNCMP(d, "MD5", 3) == 0) return NID_md5;
if(XSTRNCMP(d, "MD5", 3) == 0)return NID_md5;
return 0;
}
#endif /* NO_RSA */