Fixes for build errors with new signature and hash wrapping functions. Disabled MD2/4 hash wrapping.

This commit is contained in:
David Garske
2015-11-17 10:15:36 -08:00
parent 5e80bf46bf
commit cdc830c1cc
2 changed files with 36 additions and 30 deletions

View File

@@ -29,16 +29,6 @@
#include <wolfssl/wolfcrypt/hash.h>
#ifdef WOLFSSL_MD2
#include <wolfssl/wolfcrypt/md2.h>
#endif
#ifndef NO_MD4
#include <wolfssl/wolfcrypt/md4.h>
#endif
#ifndef NO_MD5
#include <wolfssl/wolfcrypt/md5.h>
#endif
/* Get Hash digest size */
int wc_HashGetDigestSize(enum wc_HashType hash_type)
@@ -46,16 +36,6 @@ int wc_HashGetDigestSize(enum wc_HashType hash_type)
int dig_size = BAD_FUNC_ARG;
switch(hash_type)
{
#ifdef WOLFSSL_MD2
case WC_HASH_TYPE_MD2:
dig_size = MD2_DIGEST_SIZE;
break;
#endif
#ifndef NO_MD4
case WC_HASH_TYPE_MD4:
dig_size = MD4_DIGEST_SIZE;
break;
#endif
#ifndef NO_MD5
case WC_HASH_TYPE_MD5:
dig_size = MD5_DIGEST_SIZE;
@@ -82,8 +62,16 @@ int wc_HashGetDigestSize(enum wc_HashType hash_type)
break;
#endif /* WOLFSSL_SHA512 */
/* Not Supported */
#ifdef WOLFSSL_MD2
case WC_HASH_TYPE_MD2:
#endif
#ifndef NO_MD4
case WC_HASH_TYPE_MD4:
#endif
case WC_HASH_TYPE_NONE:
default:
dig_size = BAD_FUNC_ARG;
break;
}
return dig_size;
@@ -101,19 +89,15 @@ int wc_Hash(enum wc_HashType hash_type, const byte* data,
if (hash_len < dig_size) {
return BUFFER_E;
}
/* Supress possible unused arg if all hashing is disabled */
(void)data;
(void)data_len;
(void)hash;
(void)hash_len;
switch(hash_type)
{
#ifdef WOLFSSL_MD2
case WC_HASH_TYPE_MD2:
ret = wc_Md2Hash(data, data_len, hash);
break;
#endif
#ifndef NO_MD4
case WC_HASH_TYPE_MD4:
ret = wc_Md4Hash(data, data_len, hash);
break;
#endif
#ifndef NO_MD5
case WC_HASH_TYPE_MD5:
ret = wc_Md5Hash(data, data_len, hash);
@@ -140,9 +124,17 @@ int wc_Hash(enum wc_HashType hash_type, const byte* data,
break;
#endif /* WOLFSSL_SHA512 */
/* Not Supported */
#ifdef WOLFSSL_MD2
case WC_HASH_TYPE_MD2:
#endif
#ifndef NO_MD4
case WC_HASH_TYPE_MD4:
#endif
case WC_HASH_TYPE_NONE:
default:
WOLFSSL_MSG("wc_Hash: Bad hash type");
ret = BAD_FUNC_ARG;
break;
}
return ret;

View File

@@ -35,6 +35,13 @@
#include <wolfssl/wolfcrypt/rsa.h>
#endif
/* If ECC and RSA are disabled then disable signature wrapper */
#if !defined(HAVE_ECC) && defined(NO_RSA)
#undef NO_SIG_WRAPPER
#define NO_SIG_WRAPPER
#endif
/* Signature wrapper disabled check */
#ifndef NO_SIG_WRAPPER
int wc_SignatureGetSize(enum wc_SignatureType sig_type,
@@ -42,6 +49,10 @@ int wc_SignatureGetSize(enum wc_SignatureType sig_type,
{
int sig_len = BAD_FUNC_ARG;
/* Supress possible unused args if all signature types are disabled */
(void)key;
(void)key_len;
switch(sig_type) {
#ifdef HAVE_ECC
case WC_SIGNATURE_TYPE_ECC:
@@ -169,6 +180,9 @@ int wc_SignatureGenerate(
int ret, hash_len;
byte *hash_data = NULL;
/* Supress possible unused arg if all signature types are disabled */
(void)rng;
/* Check arguments */
if (data == NULL || data_len <= 0 || sig == NULL || sig_len == NULL ||
*sig_len <= 0 || key == NULL || key_len <= 0) {