mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-04-29 00:23:25 +02:00
Merge pull request #8345 from JacobBarthelmeh/python_update
Python update to 3.12.6
This commit is contained in:
@@ -645,6 +645,9 @@ const char* wc_GetErrorString(int error)
|
||||
case PBKDF2_KAT_FIPS_E:
|
||||
return "wolfCrypt FIPS PBKDF2 Known Answer Test Failure";
|
||||
|
||||
case WC_KEY_MISMATCH_E:
|
||||
return "key values mismatch";
|
||||
|
||||
case DEADLOCK_AVERTED_E:
|
||||
return "Deadlock averted -- retry the call";
|
||||
|
||||
|
||||
+281
-162
@@ -52,67 +52,67 @@ static const struct s_ent {
|
||||
const char *name;
|
||||
} md_tbl[] = {
|
||||
#ifndef NO_MD4
|
||||
{WC_HASH_TYPE_MD4, WC_NID_md4, "MD4"},
|
||||
{WC_HASH_TYPE_MD4, WC_NID_md4, WC_SN_md4},
|
||||
#endif /* NO_MD4 */
|
||||
|
||||
#ifndef NO_MD5
|
||||
{WC_HASH_TYPE_MD5, WC_NID_md5, "MD5"},
|
||||
{WC_HASH_TYPE_MD5, WC_NID_md5, WC_SN_md5},
|
||||
#endif /* NO_MD5 */
|
||||
|
||||
#ifndef NO_SHA
|
||||
{WC_HASH_TYPE_SHA, WC_NID_sha1, "SHA1"},
|
||||
{WC_HASH_TYPE_SHA, WC_NID_sha1, WC_SN_sha1},
|
||||
{WC_HASH_TYPE_SHA, WC_NID_sha1, "SHA"}, /* Leave for backwards compatibility */
|
||||
#endif /* NO_SHA */
|
||||
|
||||
#ifdef WOLFSSL_SHA224
|
||||
{WC_HASH_TYPE_SHA224, WC_NID_sha224, "SHA224"},
|
||||
{WC_HASH_TYPE_SHA224, WC_NID_sha224, WC_SN_sha224},
|
||||
#endif /* WOLFSSL_SHA224 */
|
||||
#ifndef NO_SHA256
|
||||
{WC_HASH_TYPE_SHA256, WC_NID_sha256, "SHA256"},
|
||||
{WC_HASH_TYPE_SHA256, WC_NID_sha256, WC_SN_sha256},
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_SHA384
|
||||
{WC_HASH_TYPE_SHA384, WC_NID_sha384, "SHA384"},
|
||||
{WC_HASH_TYPE_SHA384, WC_NID_sha384, WC_SN_sha384},
|
||||
#endif /* WOLFSSL_SHA384 */
|
||||
|
||||
#ifdef WOLFSSL_SHA512
|
||||
{WC_HASH_TYPE_SHA512, WC_NID_sha512, "SHA512"},
|
||||
{WC_HASH_TYPE_SHA512, WC_NID_sha512, WC_SN_sha512},
|
||||
#endif /* WOLFSSL_SHA512 */
|
||||
|
||||
#if defined(WOLFSSL_SHA512) && !defined(WOLFSSL_NOSHA512_224)
|
||||
{WC_HASH_TYPE_SHA512_224, WC_NID_sha512_224, "SHA512_224"},
|
||||
{WC_HASH_TYPE_SHA512_224, WC_NID_sha512_224, WC_SN_sha512_224},
|
||||
#endif /* WOLFSSL_SHA512 && !WOLFSSL_NOSHA512_224 */
|
||||
|
||||
#if defined(WOLFSSL_SHA512) && !defined(WOLFSSL_NOSHA512_256)
|
||||
{WC_HASH_TYPE_SHA512_256, WC_NID_sha512_256, "SHA512_256"},
|
||||
{WC_HASH_TYPE_SHA512_256, WC_NID_sha512_256, WC_SN_sha512_256},
|
||||
#endif /* WOLFSSL_SHA512 && !WOLFSSL_NOSHA512_256 */
|
||||
|
||||
#ifndef WOLFSSL_NOSHA3_224
|
||||
{WC_HASH_TYPE_SHA3_224, WC_NID_sha3_224, "SHA3_224"},
|
||||
{WC_HASH_TYPE_SHA3_224, WC_NID_sha3_224, WC_SN_sha3_224},
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_256
|
||||
{WC_HASH_TYPE_SHA3_256, WC_NID_sha3_256, "SHA3_256"},
|
||||
{WC_HASH_TYPE_SHA3_256, WC_NID_sha3_256, WC_SN_sha3_256},
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_384
|
||||
{WC_HASH_TYPE_SHA3_384, WC_NID_sha3_384, "SHA3_384"},
|
||||
{WC_HASH_TYPE_SHA3_384, WC_NID_sha3_384, WC_SN_sha3_384},
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_512
|
||||
{WC_HASH_TYPE_SHA3_512, WC_NID_sha3_512, "SHA3_512"},
|
||||
{WC_HASH_TYPE_SHA3_512, WC_NID_sha3_512, WC_SN_sha3_512},
|
||||
#endif
|
||||
#ifdef WOLFSSL_SM3
|
||||
{WC_HASH_TYPE_SM3, WC_NID_sm3, "SM3"},
|
||||
{WC_HASH_TYPE_SM3, WC_NID_sm3, WC_SN_sm3},
|
||||
#endif /* WOLFSSL_SHA512 */
|
||||
#ifdef HAVE_BLAKE2
|
||||
{WC_HASH_TYPE_BLAKE2B, WC_NID_blake2b512, "BLAKE2B512"},
|
||||
{WC_HASH_TYPE_BLAKE2B, WC_NID_blake2b512, WC_SN_blake2b512},
|
||||
#endif
|
||||
#ifdef HAVE_BLAKE2S
|
||||
{WC_HASH_TYPE_BLAKE2S, WC_NID_blake2s256, "BLAKE2S256"},
|
||||
{WC_HASH_TYPE_BLAKE2S, WC_NID_blake2s256, WC_SN_blake2s256},
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHAKE128
|
||||
{WC_HASH_TYPE_SHAKE128, WC_NID_shake128, "SHAKE128"},
|
||||
{WC_HASH_TYPE_SHAKE128, WC_NID_shake128, WC_SN_shake128},
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHAKE256
|
||||
{WC_HASH_TYPE_SHAKE256, WC_NID_shake256, "SHAKE256"},
|
||||
{WC_HASH_TYPE_SHAKE256, WC_NID_shake256, WC_SN_shake256},
|
||||
#endif
|
||||
{WC_HASH_TYPE_NONE, 0, NULL}
|
||||
};
|
||||
@@ -4262,69 +4262,69 @@ static int wolfssl_evp_md_to_hash_type(const WOLFSSL_EVP_MD *type,
|
||||
int ret = 0;
|
||||
|
||||
#ifndef NO_SHA256
|
||||
if (XSTRCMP(type, "SHA256") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha256) == 0) {
|
||||
*hashType = WC_SHA256;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_SHA
|
||||
if ((XSTRCMP(type, "SHA") == 0) || (XSTRCMP(type, "SHA1") == 0)) {
|
||||
if ((XSTRCMP(type, "SHA") == 0) || (XSTRCMP(type, WC_SN_sha1) == 0)) {
|
||||
*hashType = WC_SHA;
|
||||
}
|
||||
else
|
||||
#endif /* NO_SHA */
|
||||
#ifdef WOLFSSL_SHA224
|
||||
if (XSTRCMP(type, "SHA224") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha224) == 0) {
|
||||
*hashType = WC_SHA224;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA384
|
||||
if (XSTRCMP(type, "SHA384") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha384) == 0) {
|
||||
*hashType = WC_SHA384;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA512
|
||||
if (XSTRCMP(type, "SHA512") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha512) == 0) {
|
||||
*hashType = WC_SHA512;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA3
|
||||
#ifndef WOLFSSL_NOSHA3_224
|
||||
if (XSTRCMP(type, "SHA3_224") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_224) == 0) {
|
||||
*hashType = WC_SHA3_224;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_256
|
||||
if (XSTRCMP(type, "SHA3_256") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_256) == 0) {
|
||||
*hashType = WC_SHA3_256;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_384
|
||||
if (XSTRCMP(type, "SHA3_384") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_384) == 0) {
|
||||
*hashType = WC_SHA3_384;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_512
|
||||
if (XSTRCMP(type, "SHA3_512") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_512) == 0) {
|
||||
*hashType = WC_SHA3_512;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WOLFSSL_SM3
|
||||
if (XSTRCMP(type, "SM3") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sm3) == 0) {
|
||||
*hashType = WC_SM3;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
if (XSTRCMP(type, "MD5") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_md5) == 0) {
|
||||
*hashType = WC_MD5;
|
||||
}
|
||||
else
|
||||
@@ -9367,22 +9367,22 @@ int wolfSSL_EVP_MD_pkey_type(const WOLFSSL_EVP_MD* type)
|
||||
WOLFSSL_ENTER("wolfSSL_EVP_MD_pkey_type");
|
||||
|
||||
if (type != NULL) {
|
||||
if (XSTRCMP(type, "MD5") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_md5) == 0) {
|
||||
ret = WC_NID_md5WithRSAEncryption;
|
||||
}
|
||||
else if (XSTRCMP(type, "SHA1") == 0) {
|
||||
else if (XSTRCMP(type, WC_SN_sha1) == 0) {
|
||||
ret = WC_NID_sha1WithRSAEncryption;
|
||||
}
|
||||
else if (XSTRCMP(type, "SHA224") == 0) {
|
||||
else if (XSTRCMP(type, WC_SN_sha224) == 0) {
|
||||
ret = WC_NID_sha224WithRSAEncryption;
|
||||
}
|
||||
else if (XSTRCMP(type, "SHA256") == 0) {
|
||||
else if (XSTRCMP(type, WC_SN_sha256) == 0) {
|
||||
ret = WC_NID_sha256WithRSAEncryption;
|
||||
}
|
||||
else if (XSTRCMP(type, "SHA384") == 0) {
|
||||
else if (XSTRCMP(type, WC_SN_sha384) == 0) {
|
||||
ret = WC_NID_sha384WithRSAEncryption;
|
||||
}
|
||||
else if (XSTRCMP(type, "SHA512") == 0) {
|
||||
else if (XSTRCMP(type, WC_SN_sha512) == 0) {
|
||||
ret = WC_NID_sha512WithRSAEncryption;
|
||||
}
|
||||
}
|
||||
@@ -9936,54 +9936,44 @@ static const struct alias {
|
||||
const char *alias;
|
||||
} digest_alias_tbl[] =
|
||||
{
|
||||
{"MD4", "md4"},
|
||||
{"MD5", "md5"},
|
||||
{"SHA1", "sha1"},
|
||||
{"SHA1", "SHA"},
|
||||
{"SHA224", "sha224"},
|
||||
{"SHA256", "sha256"},
|
||||
{"SHA384", "sha384"},
|
||||
{"SHA512", "sha512"},
|
||||
{"SHA512_224", "sha512_224"},
|
||||
{"SHA3_224", "sha3_224"},
|
||||
{"SHA3_256", "sha3_256"},
|
||||
{"SHA3_384", "sha3_384"},
|
||||
{"SHA3_512", "sha3_512"},
|
||||
{"SM3", "sm3"},
|
||||
{"BLAKE2B512", "blake2b512"},
|
||||
{"BLAKE2S256", "blake2s256"},
|
||||
{"SHAKE128", "shake128"},
|
||||
{"SHAKE256", "shake256"},
|
||||
{WC_SN_md4, "md4"},
|
||||
{WC_SN_md5, "md5"},
|
||||
{WC_SN_sha1, "sha1"},
|
||||
{WC_SN_sha1, "SHA"},
|
||||
{WC_SN_sha224, "sha224"},
|
||||
{WC_SN_sha256, "sha256"},
|
||||
{WC_SN_sha384, "sha384"},
|
||||
{WC_SN_sha512, "sha512"},
|
||||
{WC_SN_sha512_224, "sha512_224"},
|
||||
{WC_SN_sha3_224, "sha3_224"},
|
||||
{WC_SN_sha3_256, "sha3_256"},
|
||||
{WC_SN_sha3_384, "sha3_384"},
|
||||
{WC_SN_sha3_512, "sha3_512"},
|
||||
{WC_SN_sm3, "sm3"},
|
||||
{WC_SN_blake2b512, "blake2b512"},
|
||||
{WC_SN_blake2s256, "blake2s256"},
|
||||
{WC_SN_shake128, "shake128"},
|
||||
{WC_SN_shake256, "shake256"},
|
||||
{ NULL, NULL}
|
||||
};
|
||||
|
||||
const WOLFSSL_EVP_MD *wolfSSL_EVP_get_digestbyname(const char *name)
|
||||
{
|
||||
char nameUpper[15]; /* 15 bytes should be enough for any name */
|
||||
size_t i;
|
||||
|
||||
const struct alias *al;
|
||||
const struct s_ent *ent;
|
||||
|
||||
for (i = 0; i < sizeof(nameUpper) && name[i] != '\0'; i++) {
|
||||
nameUpper[i] = (char)XTOUPPER((unsigned char) name[i]);
|
||||
}
|
||||
if (i < sizeof(nameUpper))
|
||||
nameUpper[i] = '\0';
|
||||
else
|
||||
return NULL;
|
||||
|
||||
name = nameUpper;
|
||||
for (al = digest_alias_tbl; al->name != NULL; al++)
|
||||
for (al = digest_alias_tbl; al->name != NULL; al++) {
|
||||
if(XSTRCMP(name, al->alias) == 0) {
|
||||
name = al->name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (ent = md_tbl; ent->name != NULL; ent++)
|
||||
for (ent = md_tbl; ent->name != NULL; ent++) {
|
||||
if(XSTRCMP(name, ent->name) == 0) {
|
||||
return (WOLFSSL_EVP_MD *)ent->name;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -10017,7 +10007,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_md4(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_md4");
|
||||
return wolfSSL_EVP_get_digestbyname("MD4");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_md4);
|
||||
}
|
||||
|
||||
#endif /* !NO_MD4 */
|
||||
@@ -10028,7 +10018,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_md5(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_md5");
|
||||
return wolfSSL_EVP_get_digestbyname("MD5");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_md5);
|
||||
}
|
||||
|
||||
#endif /* !NO_MD5 */
|
||||
@@ -10040,8 +10030,8 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
*/
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_blake2b512(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_blake2b512");
|
||||
return wolfSSL_EVP_get_digestbyname("BLAKE2b512");
|
||||
WOLFSSL_ENTER("wolfSSL_EVP_blake2b512");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_blake2b512);
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -10080,7 +10070,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha1(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha1");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA1");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha1);
|
||||
}
|
||||
#endif /* NO_SHA */
|
||||
|
||||
@@ -10089,7 +10079,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha224(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha224");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA224");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha224);
|
||||
}
|
||||
|
||||
#endif /* WOLFSSL_SHA224 */
|
||||
@@ -10098,7 +10088,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha256(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha256");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA256");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha256);
|
||||
}
|
||||
|
||||
#ifdef WOLFSSL_SHA384
|
||||
@@ -10106,7 +10096,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha384(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha384");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA384");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha384);
|
||||
}
|
||||
|
||||
#endif /* WOLFSSL_SHA384 */
|
||||
@@ -10116,7 +10106,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha512(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha512");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA512");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha512);
|
||||
}
|
||||
|
||||
#ifndef WOLFSSL_NOSHA512_224
|
||||
@@ -10124,7 +10114,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha512_224(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha512_224");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA512_224");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha512_224);
|
||||
}
|
||||
|
||||
#endif /* !WOLFSSL_NOSHA512_224 */
|
||||
@@ -10133,7 +10123,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha512_256(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha512_256");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA512_256");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha512_256);
|
||||
}
|
||||
|
||||
#endif /* !WOLFSSL_NOSHA512_224 */
|
||||
@@ -10145,7 +10135,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_224(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha3_224");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA3_224");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha3_224);
|
||||
}
|
||||
#endif /* WOLFSSL_NOSHA3_224 */
|
||||
|
||||
@@ -10154,7 +10144,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_256(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha3_256");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA3_256");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha3_256);
|
||||
}
|
||||
#endif /* WOLFSSL_NOSHA3_256 */
|
||||
|
||||
@@ -10162,7 +10152,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_384(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha3_384");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA3_384");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha3_384);
|
||||
}
|
||||
#endif /* WOLFSSL_NOSHA3_384 */
|
||||
|
||||
@@ -10170,7 +10160,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_512(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sha3_512");
|
||||
return wolfSSL_EVP_get_digestbyname("SHA3_512");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sha3_512);
|
||||
}
|
||||
#endif /* WOLFSSL_NOSHA3_512 */
|
||||
|
||||
@@ -10196,7 +10186,7 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
const WOLFSSL_EVP_MD* wolfSSL_EVP_sm3(void)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_sm3");
|
||||
return wolfSSL_EVP_get_digestbyname("SM3");
|
||||
return wolfSSL_EVP_get_digestbyname(WC_SN_sm3);
|
||||
}
|
||||
#endif /* WOLFSSL_SM3 */
|
||||
|
||||
@@ -10482,17 +10472,21 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
/* Not an error since an unused struct could be free'd or
|
||||
* reset. */
|
||||
break;
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE128)
|
||||
case WC_HASH_TYPE_SHAKE128:
|
||||
wc_Shake128_Free(&ctx->hash.digest.shake);
|
||||
break;
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE256)
|
||||
case WC_HASH_TYPE_SHAKE256:
|
||||
wc_Shake256_Free(&ctx->hash.digest.shake);
|
||||
break;
|
||||
#endif
|
||||
case WC_HASH_TYPE_MD2:
|
||||
case WC_HASH_TYPE_MD4:
|
||||
case WC_HASH_TYPE_MD5_SHA:
|
||||
case WC_HASH_TYPE_BLAKE2B:
|
||||
case WC_HASH_TYPE_BLAKE2S:
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE128)
|
||||
case WC_HASH_TYPE_SHAKE128:
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE256)
|
||||
case WC_HASH_TYPE_SHAKE256:
|
||||
#endif
|
||||
default:
|
||||
ret = WOLFSSL_FAILURE;
|
||||
break;
|
||||
@@ -10526,76 +10520,92 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
XMEMSET(&ctx->hash.digest, 0, sizeof(WOLFSSL_Hasher));
|
||||
} else
|
||||
#ifndef NO_SHA
|
||||
if ((XSTRCMP(md, "SHA") == 0) || (XSTRCMP(md, "SHA1") == 0)) {
|
||||
if ((XSTRCMP(md, "SHA") == 0) || (XSTRCMP(md, WC_SN_sha1) == 0)) {
|
||||
ret = wolfSSL_SHA_Init(&(ctx->hash.digest.sha));
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
if (XSTRCMP(md, "SHA256") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha256) == 0) {
|
||||
ret = wolfSSL_SHA256_Init(&(ctx->hash.digest.sha256));
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA224
|
||||
if (XSTRCMP(md, "SHA224") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha224) == 0) {
|
||||
ret = wolfSSL_SHA224_Init(&(ctx->hash.digest.sha224));
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA384
|
||||
if (XSTRCMP(md, "SHA384") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha384) == 0) {
|
||||
ret = wolfSSL_SHA384_Init(&(ctx->hash.digest.sha384));
|
||||
} else
|
||||
#endif
|
||||
#if !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST) && \
|
||||
defined(WOLFSSL_SHA512) && !defined(WOLFSSL_NOSHA512_224)
|
||||
if (XSTRCMP(md, "SHA512_224") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha512_224) == 0) {
|
||||
ret = wolfSSL_SHA512_224_Init(&(ctx->hash.digest.sha512));
|
||||
} else
|
||||
#endif
|
||||
#if !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST) && \
|
||||
defined(WOLFSSL_SHA512) && !defined(WOLFSSL_NOSHA512_256)
|
||||
if (XSTRCMP(md, "SHA512_256") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha512_256) == 0) {
|
||||
ret = wolfSSL_SHA512_256_Init(&(ctx->hash.digest.sha512));
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA512
|
||||
if (XSTRCMP(md, "SHA512") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha512) == 0) {
|
||||
ret = wolfSSL_SHA512_Init(&(ctx->hash.digest.sha512));
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_MD4
|
||||
if (XSTRCMP(md, "MD4") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_md4) == 0) {
|
||||
wolfSSL_MD4_Init(&(ctx->hash.digest.md4));
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
if (XSTRCMP(md, "MD5") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_md5) == 0) {
|
||||
ret = wolfSSL_MD5_Init(&(ctx->hash.digest.md5));
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA3
|
||||
#ifndef WOLFSSL_NOSHA3_224
|
||||
if (XSTRCMP(md, "SHA3_224") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha3_224) == 0) {
|
||||
ret = wolfSSL_SHA3_224_Init(&(ctx->hash.digest.sha3_224));
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_256
|
||||
if (XSTRCMP(md, "SHA3_256") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha3_256) == 0) {
|
||||
ret = wolfSSL_SHA3_256_Init(&(ctx->hash.digest.sha3_256));
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_384
|
||||
if (XSTRCMP(md, "SHA3_384") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha3_384) == 0) {
|
||||
ret = wolfSSL_SHA3_384_Init(&(ctx->hash.digest.sha3_384));
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_512
|
||||
if (XSTRCMP(md, "SHA3_512") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sha3_512) == 0) {
|
||||
ret = wolfSSL_SHA3_512_Init(&(ctx->hash.digest.sha3_512));
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHAKE128
|
||||
if (XSTRCMP(md, WC_SN_shake128) == 0) {
|
||||
if (wc_InitShake128(&(ctx->hash.digest.shake), NULL,
|
||||
INVALID_DEVID) != 0) {
|
||||
ret = WOLFSSL_FAILURE;
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHAKE256
|
||||
if (XSTRCMP(md, WC_SN_shake256) == 0) {
|
||||
if (wc_InitShake256(&(ctx->hash.digest.shake), NULL,
|
||||
INVALID_DEVID) != 0) {
|
||||
ret = WOLFSSL_FAILURE;
|
||||
}
|
||||
} else
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WOLFSSL_SM3
|
||||
if (XSTRCMP(md, "SM3") == 0) {
|
||||
if (XSTRCMP(md, WC_SN_sm3) == 0) {
|
||||
ret = wc_InitSm3(&ctx->hash.digest.sm3, NULL, INVALID_DEVID);
|
||||
if (ret == 0) {
|
||||
ret = WOLFSSL_SUCCESS;
|
||||
@@ -10722,18 +10732,29 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
ret = WOLFSSL_FAILURE;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE128)
|
||||
case WC_HASH_TYPE_SHAKE128:
|
||||
if (wc_Shake128_Update(&ctx->hash.digest.shake,
|
||||
(const byte*)data, (word32)sz) == 0) {
|
||||
|
||||
ret = WOLFSSL_SUCCESS;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE256)
|
||||
case WC_HASH_TYPE_SHAKE256:
|
||||
if (wc_Shake256_Update(&ctx->hash.digest.shake,
|
||||
(const byte*)data, (word32)sz) == 0) {
|
||||
ret = WOLFSSL_SUCCESS;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case WC_HASH_TYPE_NONE:
|
||||
case WC_HASH_TYPE_MD2:
|
||||
case WC_HASH_TYPE_MD5_SHA:
|
||||
case WC_HASH_TYPE_BLAKE2B:
|
||||
case WC_HASH_TYPE_BLAKE2S:
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE128)
|
||||
case WC_HASH_TYPE_SHAKE128:
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE256)
|
||||
case WC_HASH_TYPE_SHAKE256:
|
||||
#endif
|
||||
default:
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
@@ -10742,14 +10763,11 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
}
|
||||
|
||||
/* WOLFSSL_SUCCESS on ok */
|
||||
int wolfSSL_EVP_DigestFinal(WOLFSSL_EVP_MD_CTX* ctx, unsigned char* md,
|
||||
unsigned int* s)
|
||||
static int wolfSSL_EVP_DigestFinal_Common(WOLFSSL_EVP_MD_CTX* ctx,
|
||||
unsigned char* md, unsigned int* s, enum wc_HashType macType)
|
||||
{
|
||||
int ret = WC_NO_ERR_TRACE(WOLFSSL_FAILURE);
|
||||
enum wc_HashType macType;
|
||||
|
||||
WOLFSSL_ENTER("EVP_DigestFinal");
|
||||
macType = EvpMd2MacType(wolfSSL_EVP_MD_CTX_md(ctx));
|
||||
switch (macType) {
|
||||
case WC_HASH_TYPE_MD4:
|
||||
#ifndef NO_MD4
|
||||
@@ -10847,18 +10865,26 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
}
|
||||
if (s) *s = WC_SM3_DIGEST_SIZE;
|
||||
break;
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE128)
|
||||
case WC_HASH_TYPE_SHAKE128:
|
||||
if (wc_Shake128_Final(&ctx->hash.digest.shake, md, *s) == 0) {
|
||||
ret = WOLFSSL_SUCCESS;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE256)
|
||||
case WC_HASH_TYPE_SHAKE256:
|
||||
if (wc_Shake256_Final(&ctx->hash.digest.shake, md, *s) == 0) {
|
||||
ret = WOLFSSL_SUCCESS;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case WC_HASH_TYPE_NONE:
|
||||
case WC_HASH_TYPE_MD2:
|
||||
case WC_HASH_TYPE_MD5_SHA:
|
||||
case WC_HASH_TYPE_BLAKE2B:
|
||||
case WC_HASH_TYPE_BLAKE2S:
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE128)
|
||||
case WC_HASH_TYPE_SHAKE128:
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE256)
|
||||
case WC_HASH_TYPE_SHAKE256:
|
||||
#endif
|
||||
default:
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
@@ -10866,6 +10892,59 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int wolfSSL_EVP_DigestFinal(WOLFSSL_EVP_MD_CTX* ctx, unsigned char* md,
|
||||
unsigned int* s)
|
||||
{
|
||||
enum wc_HashType macType;
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_EVP_DigestFinal");
|
||||
macType = EvpMd2MacType(wolfSSL_EVP_MD_CTX_md(ctx));
|
||||
switch (macType) {
|
||||
case WC_HASH_TYPE_MD4:
|
||||
case WC_HASH_TYPE_MD5:
|
||||
case WC_HASH_TYPE_SHA:
|
||||
case WC_HASH_TYPE_SHA224:
|
||||
case WC_HASH_TYPE_SHA256:
|
||||
case WC_HASH_TYPE_SHA384:
|
||||
case WC_HASH_TYPE_SHA512:
|
||||
#ifndef WOLFSSL_NOSHA512_224
|
||||
case WC_HASH_TYPE_SHA512_224:
|
||||
#endif /* !WOLFSSL_NOSHA512_224 */
|
||||
#ifndef WOLFSSL_NOSHA512_256
|
||||
case WC_HASH_TYPE_SHA512_256:
|
||||
#endif /* !WOLFSSL_NOSHA512_256 */
|
||||
case WC_HASH_TYPE_SHA3_224:
|
||||
case WC_HASH_TYPE_SHA3_256:
|
||||
case WC_HASH_TYPE_SHA3_384:
|
||||
case WC_HASH_TYPE_SHA3_512:
|
||||
#ifdef WOLFSSL_SM3
|
||||
case WC_HASH_TYPE_SM3:
|
||||
#endif
|
||||
case WC_HASH_TYPE_NONE:
|
||||
case WC_HASH_TYPE_MD2:
|
||||
case WC_HASH_TYPE_MD5_SHA:
|
||||
case WC_HASH_TYPE_BLAKE2B:
|
||||
case WC_HASH_TYPE_BLAKE2S:
|
||||
break;
|
||||
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE128)
|
||||
case WC_HASH_TYPE_SHAKE128:
|
||||
*s = 16; /* if mixing up XOF with plain digest 128 bit is
|
||||
* default for SHAKE128 */
|
||||
break;
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE256)
|
||||
case WC_HASH_TYPE_SHAKE256:
|
||||
*s = 32; /* if mixing up XOF with plain digest 256 bit is
|
||||
* default for SHAKE256 */
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
return wolfSSL_EVP_DigestFinal_Common(ctx, md, s, macType);
|
||||
}
|
||||
|
||||
/* WOLFSSL_SUCCESS on ok */
|
||||
int wolfSSL_EVP_DigestFinal_ex(WOLFSSL_EVP_MD_CTX* ctx, unsigned char* md,
|
||||
unsigned int* s)
|
||||
@@ -10874,6 +10953,46 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD* type)
|
||||
return wolfSSL_EVP_DigestFinal(ctx, md, s);
|
||||
}
|
||||
|
||||
|
||||
/* XOF stands for extendable-output functions. This is used for algos such
|
||||
* as SHAKE256.
|
||||
*
|
||||
* returns 1 (WOLFSSL_SUCCESS) on success and 0 (WOLFSSL_FAILURE) on fail */
|
||||
int wolfSSL_EVP_DigestFinalXOF(WOLFSSL_EVP_MD_CTX *ctx, unsigned char *md,
|
||||
size_t sz)
|
||||
{
|
||||
unsigned int len;
|
||||
enum wc_HashType macType;
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_EVP_DigestFinalXOF");
|
||||
len = (unsigned int)sz;
|
||||
|
||||
macType = EvpMd2MacType(wolfSSL_EVP_MD_CTX_md(ctx));
|
||||
return wolfSSL_EVP_DigestFinal_Common(ctx, md, &len, macType);
|
||||
}
|
||||
|
||||
|
||||
unsigned long wolfSSL_EVP_MD_flags(const WOLFSSL_EVP_MD *md)
|
||||
{
|
||||
enum wc_HashType macType;
|
||||
|
||||
macType = EvpMd2MacType(md);
|
||||
switch ((int)macType) {
|
||||
case WC_HASH_TYPE_BLAKE2B:
|
||||
case WC_HASH_TYPE_BLAKE2S:
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE128)
|
||||
case WC_HASH_TYPE_SHAKE128:
|
||||
#endif
|
||||
#if defined(WOLFSSL_SHA3) && defined(WOLFSSL_SHAKE256)
|
||||
case WC_HASH_TYPE_SHAKE256:
|
||||
#endif
|
||||
return EVP_MD_FLAG_XOF;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void wolfSSL_EVP_cleanup(void)
|
||||
{
|
||||
/* nothing to do here */
|
||||
@@ -10932,64 +11051,64 @@ int wolfSSL_EVP_MD_block_size(const WOLFSSL_EVP_MD* type)
|
||||
}
|
||||
|
||||
#ifndef NO_SHA
|
||||
if ((XSTRCMP(type, "SHA") == 0) || (XSTRCMP(type, "SHA1") == 0)) {
|
||||
if ((XSTRCMP(type, "SHA") == 0) || (XSTRCMP(type, WC_SN_sha1) == 0)) {
|
||||
return WC_SHA_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
if (XSTRCMP(type, "SHA256") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha256) == 0) {
|
||||
return WC_SHA256_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_MD4
|
||||
if (XSTRCMP(type, "MD4") == 0) {
|
||||
return WC_MD4_BLOCK_SIZE;
|
||||
if (XSTRCMP(type, WC_SN_md4) == 0) {
|
||||
return MD4_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
if (XSTRCMP(type, "MD5") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_md5) == 0) {
|
||||
return WC_MD5_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA224
|
||||
if (XSTRCMP(type, "SHA224") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha224) == 0) {
|
||||
return WC_SHA224_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA384
|
||||
if (XSTRCMP(type, "SHA384") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha384) == 0) {
|
||||
return WC_SHA384_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA512
|
||||
if (XSTRCMP(type, "SHA512") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha512) == 0) {
|
||||
return WC_SHA512_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA3
|
||||
#ifndef WOLFSSL_NOSHA3_224
|
||||
if (XSTRCMP(type, "SHA3_224") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_224) == 0) {
|
||||
return WC_SHA3_224_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_256
|
||||
if (XSTRCMP(type, "SHA3_256") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_256) == 0) {
|
||||
return WC_SHA3_256_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_384
|
||||
if (XSTRCMP(type, "SHA3_384") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_384) == 0) {
|
||||
return WC_SHA3_384_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_512
|
||||
if (XSTRCMP(type, "SHA3_512") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_512) == 0) {
|
||||
return WC_SHA3_512_BLOCK_SIZE;
|
||||
}
|
||||
#endif
|
||||
#endif /* WOLFSSL_SHA3 */
|
||||
#ifdef WOLFSSL_SM3
|
||||
if (XSTRCMP(type, "SM3") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sm3) == 0) {
|
||||
return WC_SM3_BLOCK_SIZE;
|
||||
} else
|
||||
#endif
|
||||
@@ -11007,74 +11126,74 @@ int wolfSSL_EVP_MD_size(const WOLFSSL_EVP_MD* type)
|
||||
}
|
||||
|
||||
#ifndef NO_SHA
|
||||
if ((XSTRCMP(type, "SHA") == 0) || (XSTRCMP(type, "SHA1") == 0)) {
|
||||
if ((XSTRCMP(type, "SHA") == 0) || (XSTRCMP(type, WC_SN_sha1) == 0)) {
|
||||
return WC_SHA_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
if (XSTRCMP(type, "SHA256") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha256) == 0) {
|
||||
return WC_SHA256_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_MD4
|
||||
if (XSTRCMP(type, "MD4") == 0) {
|
||||
return WC_MD4_DIGEST_SIZE;
|
||||
if (XSTRCMP(type, WC_SN_md4) == 0) {
|
||||
return MD4_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
if (XSTRCMP(type, "MD5") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_md5) == 0) {
|
||||
return WC_MD5_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA224
|
||||
if (XSTRCMP(type, "SHA224") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha224) == 0) {
|
||||
return WC_SHA224_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA384
|
||||
if (XSTRCMP(type, "SHA384") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha384) == 0) {
|
||||
return WC_SHA384_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA512
|
||||
if (XSTRCMP(type, "SHA512") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha512) == 0) {
|
||||
return WC_SHA512_DIGEST_SIZE;
|
||||
} else
|
||||
#ifndef WOLFSSL_NOSHA512_224
|
||||
if (XSTRCMP(type, "SHA512_224") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha512_224) == 0) {
|
||||
return WC_SHA512_224_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA512_256
|
||||
if (XSTRCMP(type, "SHA512_256") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha512_256) == 0) {
|
||||
return WC_SHA512_256_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA3
|
||||
#ifndef WOLFSSL_NOSHA3_224
|
||||
if (XSTRCMP(type, "SHA3_224") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_224) == 0) {
|
||||
return WC_SHA3_224_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_256
|
||||
if (XSTRCMP(type, "SHA3_256") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_256) == 0) {
|
||||
return WC_SHA3_256_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_384
|
||||
if (XSTRCMP(type, "SHA3_384") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_384) == 0) {
|
||||
return WC_SHA3_384_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_512
|
||||
if (XSTRCMP(type, "SHA3_512") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sha3_512) == 0) {
|
||||
return WC_SHA3_512_DIGEST_SIZE;
|
||||
} else
|
||||
#endif
|
||||
#endif /* WOLFSSL_SHA3 */
|
||||
#ifdef WOLFSSL_SM3
|
||||
if (XSTRCMP(type, "SM3") == 0) {
|
||||
if (XSTRCMP(type, WC_SN_sm3) == 0) {
|
||||
return WC_SM3_DIGEST_SIZE;
|
||||
}
|
||||
#endif
|
||||
@@ -12267,64 +12386,64 @@ int wolfSSL_EVP_get_hashinfo(const WOLFSSL_EVP_MD* evp,
|
||||
}
|
||||
|
||||
#ifndef NO_SHA
|
||||
if ((XSTRCMP("SHA", evp) == 0) || (XSTRCMP("SHA1", evp) == 0)) {
|
||||
if ((XSTRCMP("SHA", evp) == 0) || (XSTRCMP(WC_SN_sha1, evp) == 0)) {
|
||||
hash = WC_HASH_TYPE_SHA;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA224
|
||||
if (XSTRCMP("SHA224", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha224, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA224;
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_SHA256
|
||||
if (XSTRCMP("SHA256", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha256, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA256;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA384
|
||||
if (XSTRCMP("SHA384", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha384, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA384;
|
||||
} else
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA512
|
||||
if (XSTRCMP("SHA512", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha512, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA512;
|
||||
} else
|
||||
#ifndef WOLFSSL_NOSHA512_224
|
||||
if (XSTRCMP("SHA512_224", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha512_224, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA512_224;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA512_256
|
||||
if (XSTRCMP("SHA512_256", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha512_256, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA512_256;
|
||||
} else
|
||||
#endif
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA3
|
||||
#ifndef WOLFSSL_NOSHA3_224
|
||||
if (XSTRCMP("SHA3_224", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha3_224, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA3_224;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_256
|
||||
if (XSTRCMP("SHA3_256", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha3_256, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA3_256;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_384
|
||||
if (XSTRCMP("SHA3_384", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha3_384, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA3_384;
|
||||
} else
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_512
|
||||
if (XSTRCMP("SHA3_512", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sha3_512, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SHA3_512;
|
||||
} else
|
||||
#endif
|
||||
#endif /* WOLFSSL_SHA3 */
|
||||
#ifdef WOLFSSL_SM3
|
||||
if (XSTRCMP("SM3", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_sm3, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_SM3;
|
||||
} else
|
||||
#endif
|
||||
@@ -12334,12 +12453,12 @@ int wolfSSL_EVP_get_hashinfo(const WOLFSSL_EVP_MD* evp,
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_MD4
|
||||
if (XSTRCMP("MD4", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_md4, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_MD4;
|
||||
} else
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
if (XSTRCMP("MD5", evp) == 0) {
|
||||
if (XSTRCMP(WC_SN_md5, evp) == 0) {
|
||||
hash = WC_HASH_TYPE_MD5;
|
||||
} else
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user