Adapt dh_server example program to new RSA interface
This commit is contained in:
parent
ceb7a9ddb3
commit
c95fad3566
1 changed files with 30 additions and 12 deletions
|
@ -86,6 +86,8 @@ int main( void )
|
||||||
mbedtls_dhm_context dhm;
|
mbedtls_dhm_context dhm;
|
||||||
mbedtls_aes_context aes;
|
mbedtls_aes_context aes;
|
||||||
|
|
||||||
|
mbedtls_mpi N, P, Q, D, E;
|
||||||
|
|
||||||
mbedtls_net_init( &listen_fd );
|
mbedtls_net_init( &listen_fd );
|
||||||
mbedtls_net_init( &client_fd );
|
mbedtls_net_init( &client_fd );
|
||||||
mbedtls_rsa_init( &rsa, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256 );
|
mbedtls_rsa_init( &rsa, MBEDTLS_RSA_PKCS_V15, MBEDTLS_MD_SHA256 );
|
||||||
|
@ -93,6 +95,9 @@ int main( void )
|
||||||
mbedtls_aes_init( &aes );
|
mbedtls_aes_init( &aes );
|
||||||
mbedtls_ctr_drbg_init( &ctr_drbg );
|
mbedtls_ctr_drbg_init( &ctr_drbg );
|
||||||
|
|
||||||
|
mbedtls_mpi_init( &N ); mbedtls_mpi_init( &P ); mbedtls_mpi_init( &Q );
|
||||||
|
mbedtls_mpi_init( &D ); mbedtls_mpi_init( &E );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 1. Setup the RNG
|
* 1. Setup the RNG
|
||||||
*/
|
*/
|
||||||
|
@ -124,24 +129,34 @@ int main( void )
|
||||||
|
|
||||||
mbedtls_rsa_init( &rsa, MBEDTLS_RSA_PKCS_V15, 0 );
|
mbedtls_rsa_init( &rsa, MBEDTLS_RSA_PKCS_V15, 0 );
|
||||||
|
|
||||||
if( ( ret = mbedtls_mpi_read_file( &rsa.N , 16, f ) ) != 0 ||
|
if( ( ret = mbedtls_mpi_read_file( &N , 16, f ) ) != 0 ||
|
||||||
( ret = mbedtls_mpi_read_file( &rsa.E , 16, f ) ) != 0 ||
|
( ret = mbedtls_mpi_read_file( &E , 16, f ) ) != 0 ||
|
||||||
( ret = mbedtls_mpi_read_file( &rsa.D , 16, f ) ) != 0 ||
|
( ret = mbedtls_mpi_read_file( &D , 16, f ) ) != 0 ||
|
||||||
( ret = mbedtls_mpi_read_file( &rsa.P , 16, f ) ) != 0 ||
|
( ret = mbedtls_mpi_read_file( &P , 16, f ) ) != 0 ||
|
||||||
( ret = mbedtls_mpi_read_file( &rsa.Q , 16, f ) ) != 0 ||
|
( ret = mbedtls_mpi_read_file( &Q , 16, f ) ) != 0 )
|
||||||
( ret = mbedtls_mpi_read_file( &rsa.DP, 16, f ) ) != 0 ||
|
|
||||||
( ret = mbedtls_mpi_read_file( &rsa.DQ, 16, f ) ) != 0 ||
|
|
||||||
( ret = mbedtls_mpi_read_file( &rsa.QP, 16, f ) ) != 0 )
|
|
||||||
{
|
{
|
||||||
mbedtls_printf( " failed\n ! mbedtls_mpi_read_file returned %d\n\n", ret );
|
mbedtls_printf( " failed\n ! mbedtls_mpi_read_file returned %d\n\n",
|
||||||
|
ret );
|
||||||
fclose( f );
|
fclose( f );
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
rsa.len = ( mbedtls_mpi_bitlen( &rsa.N ) + 7 ) >> 3;
|
|
||||||
|
|
||||||
fclose( f );
|
fclose( f );
|
||||||
|
|
||||||
|
if( ( ret = mbedtls_rsa_import( &rsa, &N, &P, &Q, &D, &E ) ) != 0 )
|
||||||
|
{
|
||||||
|
mbedtls_printf( " failed\n ! mbedtls_rsa_import returned %d\n\n",
|
||||||
|
ret );
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
if( ( ret = mbedtls_rsa_complete( &rsa, mbedtls_ctr_drbg_random,
|
||||||
|
&ctr_drbg ) ) != 0 )
|
||||||
|
{
|
||||||
|
mbedtls_printf( " failed\n ! mbedtls_rsa_complete returned %d\n\n",
|
||||||
|
ret );
|
||||||
|
goto exit;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 2b. Get the DHM modulus and generator
|
* 2b. Get the DHM modulus and generator
|
||||||
*/
|
*/
|
||||||
|
@ -287,6 +302,9 @@ int main( void )
|
||||||
|
|
||||||
exit:
|
exit:
|
||||||
|
|
||||||
|
mbedtls_mpi_free( &N ); mbedtls_mpi_free( &P ); mbedtls_mpi_free( &Q );
|
||||||
|
mbedtls_mpi_free( &D ); mbedtls_mpi_free( &E );
|
||||||
|
|
||||||
mbedtls_net_free( &client_fd );
|
mbedtls_net_free( &client_fd );
|
||||||
mbedtls_net_free( &listen_fd );
|
mbedtls_net_free( &listen_fd );
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue