mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-01 19:54:40 +02:00
@@ -99,6 +99,7 @@ ASN Options:
|
|||||||
* WOLFSSL_ALLOW_ENCODING_CA_FALSE: Allow encoding BasicConstraints CA:FALSE
|
* WOLFSSL_ALLOW_ENCODING_CA_FALSE: Allow encoding BasicConstraints CA:FALSE
|
||||||
* which is discouraged by X.690 specification - default values shall not
|
* which is discouraged by X.690 specification - default values shall not
|
||||||
* be encoded.
|
* be encoded.
|
||||||
|
* NO_TIME_SIGNEDNESS_CHECK: Disabled the time_t signedness check.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <wolfssl/wolfcrypt/error-crypt.h>
|
#include <wolfssl/wolfcrypt/error-crypt.h>
|
||||||
@@ -14717,12 +14718,14 @@ int wc_ValidateDate(const byte* date, byte format, int dateType)
|
|||||||
(void)tmpTime;
|
(void)tmpTime;
|
||||||
|
|
||||||
ltime = wc_Time(0);
|
ltime = wc_Time(0);
|
||||||
|
#ifndef NO_TIME_SIGNEDNESS_CHECK
|
||||||
if (sizeof(ltime) == sizeof(word32) && (int)ltime < 0){
|
if (sizeof(ltime) == sizeof(word32) && (int)ltime < 0){
|
||||||
/* A negative response here could be due to a 32-bit time_t
|
/* A negative response here could be due to a 32-bit time_t
|
||||||
* where the year is 2038 or later. */
|
* where the year is 2038 or later. */
|
||||||
WOLFSSL_MSG("wc_Time failed to return a valid value");
|
WOLFSSL_MSG("wc_Time failed to return a valid value");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_BEFORE_DATE_CLOCK_SKEW
|
#ifdef WOLFSSL_BEFORE_DATE_CLOCK_SKEW
|
||||||
if (dateType == BEFORE) {
|
if (dateType == BEFORE) {
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -62,8 +62,10 @@
|
|||||||
#define SHAMD5_ALGO_SHA224 4
|
#define SHAMD5_ALGO_SHA224 4
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int hashInit(wolfssl_TI_Hash *hash) {
|
static int hashInit(wolfssl_TI_Hash *hash)
|
||||||
if (!wolfSSL_TI_CCMInit())return 1;
|
{
|
||||||
|
if (!wolfSSL_TI_CCMInit())
|
||||||
|
return 1;
|
||||||
hash->used = 0;
|
hash->used = 0;
|
||||||
hash->msg = 0;
|
hash->msg = 0;
|
||||||
hash->len = 0;
|
hash->len = 0;
|
||||||
@@ -115,8 +117,13 @@ static int hashGetHash(wolfssl_TI_Hash *hash, byte* result, word32 algo, word32
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int hashCopy(wolfssl_TI_Hash *src, wolfssl_TI_Hash *dst) {
|
static int hashCopy(wolfssl_TI_Hash *src, wolfssl_TI_Hash *dst)
|
||||||
XMEMCPY(dst, src, sizeof(wolfssl_TI_Hash));
|
{
|
||||||
|
/* only copy hash, zero the rest of the struct to avoid double-free */
|
||||||
|
dst->msg = NULL;
|
||||||
|
dst->used = 0;
|
||||||
|
dst->len = 0;
|
||||||
|
XMEMCPY(dst->hash, src->hash, sizeof(dst->hash));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,11 +201,12 @@ WOLFSSL_API int wc_Md5GetHash(Md5* md5, byte* hash)
|
|||||||
return hashGetHash((wolfssl_TI_Hash *)md5, hash, SHAMD5_ALGO_MD5, MD5_DIGEST_SIZE);
|
return hashGetHash((wolfssl_TI_Hash *)md5, hash, SHAMD5_ALGO_MD5, MD5_DIGEST_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_API int wc_Md5Copy(Md5* src, Md5* dst) {
|
WOLFSSL_API int wc_Md5Copy(Md5* src, Md5* dst)
|
||||||
|
{
|
||||||
return hashCopy((wolfssl_TI_Hash *)src, (wolfssl_TI_Hash *)dst);
|
return hashCopy((wolfssl_TI_Hash *)src, (wolfssl_TI_Hash *)dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_API int wc_Md5Hash(const byte*data, word32 len, byte*hash)
|
WOLFSSL_API int wc_Md5Hash(const byte*data, word32 len, byte* hash)
|
||||||
{
|
{
|
||||||
return hashHash(data, len, hash, SHAMD5_ALGO_MD5, MD5_DIGEST_SIZE);
|
return hashHash(data, len, hash, SHAMD5_ALGO_MD5, MD5_DIGEST_SIZE);
|
||||||
}
|
}
|
||||||
@@ -239,11 +247,12 @@ WOLFSSL_API int wc_ShaGetHash(Sha* sha, byte* hash)
|
|||||||
return hashGetHash(sha, hash, SHAMD5_ALGO_SHA1, SHA_DIGEST_SIZE);
|
return hashGetHash(sha, hash, SHAMD5_ALGO_SHA1, SHA_DIGEST_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_API int wc_ShaCopy(Sha* src, Sha* dst) {
|
WOLFSSL_API int wc_ShaCopy(Sha* src, Sha* dst)
|
||||||
|
{
|
||||||
return hashCopy((wolfssl_TI_Hash *)src, (wolfssl_TI_Hash *)dst);
|
return hashCopy((wolfssl_TI_Hash *)src, (wolfssl_TI_Hash *)dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_API int wc_ShaHash(const byte*data, word32 len, byte*hash)
|
WOLFSSL_API int wc_ShaHash(const byte*data, word32 len, byte* hash)
|
||||||
{
|
{
|
||||||
return hashHash(data, len, hash, SHAMD5_ALGO_SHA1, SHA_DIGEST_SIZE);
|
return hashHash(data, len, hash, SHAMD5_ALGO_SHA1, SHA_DIGEST_SIZE);
|
||||||
}
|
}
|
||||||
@@ -284,7 +293,12 @@ WOLFSSL_API int wc_Sha224GetHash(Sha224* sha224, byte* hash)
|
|||||||
return hashGetHash(sha224, hash, SHAMD5_ALGO_SHA224, SHA224_DIGEST_SIZE);
|
return hashGetHash(sha224, hash, SHAMD5_ALGO_SHA224, SHA224_DIGEST_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_API int wc_Sha224Hash(const byte* data, word32 len, byte*hash)
|
WOLFSSL_API int wc_Sha224Copy(Sha224* src, Sha224* dst)
|
||||||
|
{
|
||||||
|
return hashCopy((wolfssl_TI_Hash *)src, (wolfssl_TI_Hash *)dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
WOLFSSL_API int wc_Sha224Hash(const byte* data, word32 len, byte* hash)
|
||||||
{
|
{
|
||||||
return hashHash(data, len, hash, SHAMD5_ALGO_SHA224, SHA224_DIGEST_SIZE);
|
return hashHash(data, len, hash, SHAMD5_ALGO_SHA224, SHA224_DIGEST_SIZE);
|
||||||
}
|
}
|
||||||
@@ -326,7 +340,12 @@ WOLFSSL_API int wc_Sha256GetHash(Sha256* sha256, byte* hash)
|
|||||||
return hashGetHash(sha256, hash, SHAMD5_ALGO_SHA256, SHA256_DIGEST_SIZE);
|
return hashGetHash(sha256, hash, SHAMD5_ALGO_SHA256, SHA256_DIGEST_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
WOLFSSL_API int wc_Sha256Hash(const byte* data, word32 len, byte*hash)
|
WOLFSSL_API int wc_Sha256Copy(Sha256* src, Sha256* dst)
|
||||||
|
{
|
||||||
|
return hashCopy((wolfssl_TI_Hash *)src, (wolfssl_TI_Hash *)dst);
|
||||||
|
}
|
||||||
|
|
||||||
|
WOLFSSL_API int wc_Sha256Hash(const byte* data, word32 len, byte* hash)
|
||||||
{
|
{
|
||||||
return hashHash(data, len, hash, SHAMD5_ALGO_SHA256, SHA256_DIGEST_SIZE);
|
return hashHash(data, len, hash, SHAMD5_ALGO_SHA256, SHA256_DIGEST_SIZE);
|
||||||
}
|
}
|
||||||
|
@@ -15413,7 +15413,7 @@ static int simple_mem_test(int sz)
|
|||||||
static wc_test_ret_t const_byte_ptr_test(const byte* in, word32 *outJ)
|
static wc_test_ret_t const_byte_ptr_test(const byte* in, word32 *outJ)
|
||||||
{
|
{
|
||||||
wc_test_ret_t ret = 0;
|
wc_test_ret_t ret = 0;
|
||||||
volatile word32 j = -1; /* must be volatile to properly detect error */
|
volatile word32 j = (word32)-1; /* must be volatile to properly detect error */
|
||||||
|
|
||||||
ret = (wc_test_ret_t)*in; /* accessed *in value. */
|
ret = (wc_test_ret_t)*in; /* accessed *in value. */
|
||||||
(void)ret;
|
(void)ret;
|
||||||
|
@@ -110,7 +110,9 @@
|
|||||||
#elif defined(WOLFSSL_TIRTOS)
|
#elif defined(WOLFSSL_TIRTOS)
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <netdb.h>
|
#include <netdb.h>
|
||||||
#include <sys/types.h>
|
#if !defined(__ti__) /* conflicts with sys/socket.h */
|
||||||
|
#include <sys/types.h>
|
||||||
|
#endif
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
#include <ti/sysbios/knl/Task.h>
|
#include <ti/sysbios/knl/Task.h>
|
||||||
@@ -1284,7 +1286,7 @@ static WC_INLINE void build_addr(SOCKADDR_IN_T* addr, const char* peer,
|
|||||||
int err;
|
int err;
|
||||||
struct hostent* entry = gethostbyname(peer, &err);
|
struct hostent* entry = gethostbyname(peer, &err);
|
||||||
#elif defined(WOLFSSL_TIRTOS)
|
#elif defined(WOLFSSL_TIRTOS)
|
||||||
struct hostent* entry = DNSGetHostByName(peer);
|
struct hostent* entry = (struct hostent*)DNSGetHostByName(peer);
|
||||||
#elif defined(WOLFSSL_VXWORKS)
|
#elif defined(WOLFSSL_VXWORKS)
|
||||||
struct hostent* entry = (struct hostent*)hostGetByName((char*)peer);
|
struct hostent* entry = (struct hostent*)hostGetByName((char*)peer);
|
||||||
#else
|
#else
|
||||||
|
@@ -972,12 +972,6 @@ extern void uITRON4_free(void *p) ;
|
|||||||
#define NO_MAIN_DRIVER
|
#define NO_MAIN_DRIVER
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_TI_CRYPT
|
|
||||||
#define NO_GCM_ENCRYPT_EXTRA
|
|
||||||
#define NO_PUBLIC_GCM_SET_IV
|
|
||||||
#define NO_PUBLIC_CCM_SET_NONCE
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WOLFSSL_TIRTOS
|
#ifdef WOLFSSL_TIRTOS
|
||||||
#define SIZEOF_LONG_LONG 8
|
#define SIZEOF_LONG_LONG 8
|
||||||
#define NO_WRITEV
|
#define NO_WRITEV
|
||||||
@@ -987,35 +981,57 @@ extern void uITRON4_free(void *p) ;
|
|||||||
* specified in user_settings.
|
* specified in user_settings.
|
||||||
*/
|
*/
|
||||||
#ifndef USE_FAST_MATH
|
#ifndef USE_FAST_MATH
|
||||||
#define WOLFSSL_HAVE_SP_ECC
|
|
||||||
#define SP_WORD_SIZE 32
|
#define SP_WORD_SIZE 32
|
||||||
#define WOLFSSL_HAVE_SP_RSA
|
#define WOLFSSL_HAVE_SP_ECC
|
||||||
#define WOLFSSL_SP_4096
|
#ifndef NO_RSA
|
||||||
|
#define WOLFSSL_HAVE_SP_RSA
|
||||||
|
#endif
|
||||||
|
#ifndef NO_DH
|
||||||
|
#define WOLFSSL_HAVE_SP_DH
|
||||||
|
#endif
|
||||||
|
#if !defined(NO_RSA) || !defined(NO_DH)
|
||||||
|
/* DH/RSA 2048, 3072 and 4096 */
|
||||||
|
#if defined(SP_INT_MAX_BITS) && SP_INT_MAX_BITS >= 4096
|
||||||
|
#define WOLFSSL_SP_4096
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#define TFM_TIMING_RESISTANT
|
#define TFM_TIMING_RESISTANT
|
||||||
#define ECC_TIMING_RESISTANT
|
#define ECC_TIMING_RESISTANT
|
||||||
#define WC_RSA_BLINDING
|
#define WC_RSA_BLINDING
|
||||||
#define NO_DEV_RANDOM
|
#define NO_DEV_RANDOM
|
||||||
#define NO_FILESYSTEM
|
#define NO_FILESYSTEM
|
||||||
#define NO_SIG_WRAPPER
|
|
||||||
#define NO_MAIN_DRIVER
|
#define NO_MAIN_DRIVER
|
||||||
#define USE_CERT_BUFFERS_2048
|
#ifndef NO_CRYPT_TEST
|
||||||
#define NO_ERROR_STRINGS
|
#define USE_CERT_BUFFERS_2048
|
||||||
/* Uncomment this setting if your toolchain does not offer time.h header */
|
#endif
|
||||||
/* #define USER_TIME */
|
#ifndef DEBUG_WOLFSSL
|
||||||
|
#define NO_ERROR_STRINGS
|
||||||
|
#endif
|
||||||
|
|
||||||
#define HAVE_ECC
|
#define HAVE_ECC
|
||||||
#define HAVE_ALPN
|
#define HAVE_ALPN
|
||||||
#define USE_WOLF_STRTOK /* use with HAVE_ALPN */
|
#define USE_WOLF_STRTOK /* use with HAVE_ALPN */
|
||||||
#define HAVE_TLS_EXTENSIONS
|
#define HAVE_TLS_EXTENSIONS
|
||||||
#define HAVE_AESGCM
|
|
||||||
#define HAVE_SUPPORTED_CURVES
|
#define HAVE_SUPPORTED_CURVES
|
||||||
|
|
||||||
|
#define HAVE_AESGCM
|
||||||
|
|
||||||
#ifdef __IAR_SYSTEMS_ICC__
|
#ifdef __IAR_SYSTEMS_ICC__
|
||||||
#pragma diag_suppress=Pa089
|
#pragma diag_suppress=Pa089
|
||||||
#elif !defined(__GNUC__)
|
#elif !defined(__GNUC__)
|
||||||
/* Suppress the sslpro warning */
|
/* Suppress the sslpro warning */
|
||||||
#pragma diag_suppress=11
|
#pragma diag_suppress=11
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Uncomment this setting if your toolchain does not offer time.h header */
|
||||||
|
/* #define USER_TIME */
|
||||||
#include <ti/sysbios/hal/Seconds.h>
|
#include <ti/sysbios/hal/Seconds.h>
|
||||||
|
#if defined(__ti__) && !defined(USER_TIME)
|
||||||
|
/* TI internal time() offsets by 2208988800 (1990 -> 1970),
|
||||||
|
* which overflows signed 32-bit */
|
||||||
|
#define NO_TIME_SIGNEDNESS_CHECK
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef EBSNET
|
#ifdef EBSNET
|
||||||
|
@@ -130,6 +130,7 @@
|
|||||||
#include "cmsis_os.h"
|
#include "cmsis_os.h"
|
||||||
#elif defined(WOLFSSL_TIRTOS)
|
#elif defined(WOLFSSL_TIRTOS)
|
||||||
#include <ti/sysbios/BIOS.h>
|
#include <ti/sysbios/BIOS.h>
|
||||||
|
#include <ti/sysbios/knl/Task.h>
|
||||||
#include <ti/sysbios/knl/Semaphore.h>
|
#include <ti/sysbios/knl/Semaphore.h>
|
||||||
#elif defined(WOLFSSL_FROSTED)
|
#elif defined(WOLFSSL_FROSTED)
|
||||||
#include <semaphore.h>
|
#include <semaphore.h>
|
||||||
|
Reference in New Issue
Block a user