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 ; const char * d ;
d = (const char *)wolfSSL_EVP_get_md((const unsigned char)md); d = (const char *)wolfSSL_EVP_get_md((const unsigned char)md);
if (d == NULL) { if (XSTRNCMP(d, "SHA", 3) == 0) {
return MEMORY_E; 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, "MD5", 3) == 0)return NID_md5;
if (XSTRNCMP(d, "SHA", 3) == 0) return NID_sha1;
if (XSTRNCMP(d, "MD5", 3) == 0) return NID_md5;
return 0; return 0;
} }
#endif /* NO_RSA */ #endif /* NO_RSA */