1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-07-28 00:21:48 +03:00

SSL test programs: move RNG common code to ssl_test_lib

This commit is deliberately arranged to minimize code changes.
Subsequent commits will clean up the resulting code.

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine
2021-01-13 18:38:27 +01:00
parent b3715eb86e
commit daa94c4ff5
4 changed files with 85 additions and 57 deletions

View File

@ -61,6 +61,52 @@ int dummy_entropy( void *data, unsigned char *output, size_t len )
return( ret );
}
void rng_init( rng_context_t *rng )
{
mbedtls_ctr_drbg_init( &rng->drbg );
mbedtls_entropy_init( &rng->entropy );
}
int rng_seed( rng_context_t *rng, int reproducible, const char *pers )
{
int ret = 0;
if ( reproducible )
{
srand( 1 );
if( ( ret = mbedtls_ctr_drbg_seed( &rng->drbg, dummy_entropy,
&rng->entropy, (const unsigned char *) pers,
strlen( pers ) ) ) != 0 )
{
mbedtls_printf( " failed\n ! mbedtls_ctr_drbg_seed returned -0x%x\n",
(unsigned int) -ret );
goto exit;
}
}
else
{
if( ( ret = mbedtls_ctr_drbg_seed( &rng->drbg, mbedtls_entropy_func,
&rng->entropy, (const unsigned char *) pers,
strlen( pers ) ) ) != 0 )
{
mbedtls_printf( " failed\n ! mbedtls_ctr_drbg_seed returned -0x%x\n",
(unsigned int) -ret );
goto exit;
}
}
return( 0 );
exit:
return( 1 );
}
void rng_free( rng_context_t *rng )
{
mbedtls_ctr_drbg_free( &rng->drbg );
mbedtls_entropy_free( &rng->entropy );
}
#if defined(MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK)
int ca_callback( void *data, mbedtls_x509_crt const *child,
mbedtls_x509_crt **candidates )