diff --git a/tests/suites/helpers.function b/tests/suites/helpers.function index f5b61f31c..6ead2d349 100644 --- a/tests/suites/helpers.function +++ b/tests/suites/helpers.function @@ -28,6 +28,10 @@ #include #endif +#if defined(MBEDTLS_USE_TINYCRYPT) +#include "tinycrypt/ecc.h" +#endif /* MBEDTLS_USE_TINYCRYPT */ + #ifdef _MSC_VER #include typedef UINT8 uint8_t; @@ -545,6 +549,18 @@ static int rnd_std_rand( void *rng_state, unsigned char *output, size_t len ) return( 0 ); } +#if defined(MBEDTLS_USE_TINYCRYPT) +static int uecc_rng_wrapper( uint8_t *dest, unsigned int size ) +{ + int ret; + ret = rnd_std_rand( NULL, dest, size ); + if( ret == 0 ) + return( (int) size ); + + return( 0 ); +} +#endif /* MBEDTLS_USE_TINYCRYPT */ + /** * This function only returns zeros * diff --git a/tests/suites/host_test.function b/tests/suites/host_test.function index 0f98d23aa..e1aa3aab3 100644 --- a/tests/suites/host_test.function +++ b/tests/suites/host_test.function @@ -410,6 +410,10 @@ int execute_tests( int argc , const char ** argv ) mbedtls_memory_buffer_alloc_init( alloc_buf, sizeof( alloc_buf ) ); #endif +#if defined(MBEDTLS_USE_TINYCRYPT) + uECC_set_rng( &uecc_rng_wrapper ); +#endif + /* * The C standard doesn't guarantee that all-bits-0 is the representation * of a NULL pointer. We do however use that in our code for initializing