forked from wolfSSL/wolfssl
Merge pull request #193 from dgarske/SigHashFixes
Fixes for build errors with new signature and hash wrapping functions…
This commit is contained in:
@@ -29,16 +29,6 @@
|
|||||||
|
|
||||||
#include <wolfssl/wolfcrypt/hash.h>
|
#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 */
|
/* Get Hash digest size */
|
||||||
int wc_HashGetDigestSize(enum wc_HashType hash_type)
|
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;
|
int dig_size = BAD_FUNC_ARG;
|
||||||
switch(hash_type)
|
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
|
#ifndef NO_MD5
|
||||||
case WC_HASH_TYPE_MD5:
|
case WC_HASH_TYPE_MD5:
|
||||||
dig_size = MD5_DIGEST_SIZE;
|
dig_size = MD5_DIGEST_SIZE;
|
||||||
@@ -82,8 +62,16 @@ int wc_HashGetDigestSize(enum wc_HashType hash_type)
|
|||||||
break;
|
break;
|
||||||
#endif /* WOLFSSL_SHA512 */
|
#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:
|
case WC_HASH_TYPE_NONE:
|
||||||
default:
|
default:
|
||||||
|
dig_size = BAD_FUNC_ARG;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return dig_size;
|
return dig_size;
|
||||||
@@ -102,18 +90,14 @@ int wc_Hash(enum wc_HashType hash_type, const byte* data,
|
|||||||
return BUFFER_E;
|
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)
|
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
|
#ifndef NO_MD5
|
||||||
case WC_HASH_TYPE_MD5:
|
case WC_HASH_TYPE_MD5:
|
||||||
ret = wc_Md5Hash(data, data_len, hash);
|
ret = wc_Md5Hash(data, data_len, hash);
|
||||||
@@ -140,9 +124,17 @@ int wc_Hash(enum wc_HashType hash_type, const byte* data,
|
|||||||
break;
|
break;
|
||||||
#endif /* WOLFSSL_SHA512 */
|
#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:
|
case WC_HASH_TYPE_NONE:
|
||||||
default:
|
default:
|
||||||
WOLFSSL_MSG("wc_Hash: Bad hash type");
|
WOLFSSL_MSG("wc_Hash: Bad hash type");
|
||||||
|
ret = BAD_FUNC_ARG;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
@@ -35,6 +35,13 @@
|
|||||||
#include <wolfssl/wolfcrypt/rsa.h>
|
#include <wolfssl/wolfcrypt/rsa.h>
|
||||||
#endif
|
#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
|
#ifndef NO_SIG_WRAPPER
|
||||||
|
|
||||||
int wc_SignatureGetSize(enum wc_SignatureType sig_type,
|
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;
|
int sig_len = BAD_FUNC_ARG;
|
||||||
|
|
||||||
|
/* Supress possible unused args if all signature types are disabled */
|
||||||
|
(void)key;
|
||||||
|
(void)key_len;
|
||||||
|
|
||||||
switch(sig_type) {
|
switch(sig_type) {
|
||||||
#ifdef HAVE_ECC
|
#ifdef HAVE_ECC
|
||||||
case WC_SIGNATURE_TYPE_ECC:
|
case WC_SIGNATURE_TYPE_ECC:
|
||||||
@@ -169,6 +180,9 @@ int wc_SignatureGenerate(
|
|||||||
int ret, hash_len;
|
int ret, hash_len;
|
||||||
byte *hash_data = NULL;
|
byte *hash_data = NULL;
|
||||||
|
|
||||||
|
/* Supress possible unused arg if all signature types are disabled */
|
||||||
|
(void)rng;
|
||||||
|
|
||||||
/* Check arguments */
|
/* Check arguments */
|
||||||
if (data == NULL || data_len <= 0 || sig == NULL || sig_len == NULL ||
|
if (data == NULL || data_len <= 0 || sig == NULL || sig_len == NULL ||
|
||||||
*sig_len <= 0 || key == NULL || key_len <= 0) {
|
*sig_len <= 0 || key == NULL || key_len <= 0) {
|
||||||
|
Reference in New Issue
Block a user