forked from wolfSSL/wolfssl
Test Fixes
1. Changed the _InitHmac() function in ssl.c to have a different name. 2. Added switch in ssl.c to use _InitHmac or _HMAC_Init depending on FIPS option.
This commit is contained in:
81
src/ssl.c
81
src/ssl.c
@@ -24381,6 +24381,85 @@ int wolfSSL_HMAC_CTX_copy(WOLFSSL_HMAC_CTX* des, WOLFSSL_HMAC_CTX* src)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#if defined(HAVE_FIPS) && \
|
||||||
|
(!defined(HAVE_FIPS_VERSION) || (HAVE_FIPS_VERSION < 2))
|
||||||
|
|
||||||
|
static int _HMAC_Init(Hmac* hmac, int type, void* heap)
|
||||||
|
{
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
|
switch (type) {
|
||||||
|
#ifndef NO_MD5
|
||||||
|
case WC_MD5:
|
||||||
|
ret = wc_InitMd5(&hmac->hash.md5);
|
||||||
|
break;
|
||||||
|
#endif /* !NO_MD5 */
|
||||||
|
|
||||||
|
#ifndef NO_SHA
|
||||||
|
case WC_SHA:
|
||||||
|
ret = wc_InitSha(&hmac->hash.sha);
|
||||||
|
break;
|
||||||
|
#endif /* !NO_SHA */
|
||||||
|
|
||||||
|
#ifdef WOLFSSL_SHA224
|
||||||
|
case WC_SHA224:
|
||||||
|
ret = wc_InitSha224(&hmac->hash.sha224);
|
||||||
|
break;
|
||||||
|
#endif /* WOLFSSL_SHA224 */
|
||||||
|
|
||||||
|
#ifndef NO_SHA256
|
||||||
|
case WC_SHA256:
|
||||||
|
ret = wc_InitSha256(&hmac->hash.sha256);
|
||||||
|
break;
|
||||||
|
#endif /* !NO_SHA256 */
|
||||||
|
|
||||||
|
#ifdef WOLFSSL_SHA512
|
||||||
|
#ifdef WOLFSSL_SHA384
|
||||||
|
case WC_SHA384:
|
||||||
|
ret = wc_InitSha384(&hmac->hash.sha384);
|
||||||
|
break;
|
||||||
|
#endif /* WOLFSSL_SHA384 */
|
||||||
|
case WC_SHA512:
|
||||||
|
ret = wc_InitSha512(&hmac->hash.sha512);
|
||||||
|
break;
|
||||||
|
#endif /* WOLFSSL_SHA512 */
|
||||||
|
|
||||||
|
#ifdef HAVE_BLAKE2
|
||||||
|
case BLAKE2B_ID:
|
||||||
|
ret = wc_InitBlake2b(&hmac->hash.blake2b, BLAKE2B_256);
|
||||||
|
break;
|
||||||
|
#endif /* HAVE_BLAKE2 */
|
||||||
|
|
||||||
|
#ifdef WOLFSSL_SHA3
|
||||||
|
case WC_SHA3_224:
|
||||||
|
ret = wc_InitSha3_224(&hmac->hash.sha3, heap, INVALID_DEVID);
|
||||||
|
break;
|
||||||
|
case WC_SHA3_256:
|
||||||
|
ret = wc_InitSha3_256(&hmac->hash.sha3, heap, INVALID_DEVID);
|
||||||
|
break;
|
||||||
|
case WC_SHA3_384:
|
||||||
|
ret = wc_InitSha3_384(&hmac->hash.sha3, heap, INVALID_DEVID);
|
||||||
|
break;
|
||||||
|
case WC_SHA3_512:
|
||||||
|
ret = wc_InitSha3_512(&hmac->hash.sha3, heap, INVALID_DEVID);
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
default:
|
||||||
|
ret = BAD_FUNC_ARG;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
(void)heap;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
#define _HMAC_Init _InitHmac
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
int wolfSSL_HMAC_Init(WOLFSSL_HMAC_CTX* ctx, const void* key, int keylen,
|
int wolfSSL_HMAC_Init(WOLFSSL_HMAC_CTX* ctx, const void* key, int keylen,
|
||||||
const EVP_MD* type)
|
const EVP_MD* type)
|
||||||
{
|
{
|
||||||
@@ -24476,7 +24555,7 @@ int wolfSSL_HMAC_Init(WOLFSSL_HMAC_CTX* ctx, const void* key, int keylen,
|
|||||||
WC_HMAC_BLOCK_SIZE);
|
WC_HMAC_BLOCK_SIZE);
|
||||||
XMEMCPY((byte *)&ctx->hmac.opad, (byte *)&ctx->save_opad,
|
XMEMCPY((byte *)&ctx->hmac.opad, (byte *)&ctx->save_opad,
|
||||||
WC_HMAC_BLOCK_SIZE);
|
WC_HMAC_BLOCK_SIZE);
|
||||||
if ((hmac_error = _InitHmac(&ctx->hmac, ctx->hmac.macType, heap))
|
if ((hmac_error = _HMAC_Init(&ctx->hmac, ctx->hmac.macType, heap))
|
||||||
!=0) {
|
!=0) {
|
||||||
return hmac_error;
|
return hmac_error;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user