1
0
mirror of https://github.com/Mbed-TLS/mbedtls.git synced 2025-08-01 10:06:53 +03:00

Implement pk_check_pair() for RSA-alt

This commit is contained in:
Manuel Pégourié-Gonnard
2014-11-08 17:08:08 +01:00
parent 27e3edbe2c
commit a1efcb084f
3 changed files with 53 additions and 9 deletions

View File

@ -306,18 +306,24 @@ int pk_encrypt( pk_context *ctx,
int pk_check_pair( const pk_context *pub, const pk_context *prv )
{
if( pub == NULL || pub->pk_info == NULL ||
prv == NULL || prv->pk_info == NULL )
prv == NULL || prv->pk_info == NULL ||
prv->pk_info->check_pair_func == NULL )
{
return( POLARSSL_ERR_PK_BAD_INPUT_DATA );
}
if( pub->pk_info != prv->pk_info ||
pub->pk_info->check_pair_func == NULL )
if( prv->pk_info->type == POLARSSL_PK_RSA_ALT )
{
return( POLARSSL_ERR_PK_TYPE_MISMATCH );
if( pub->pk_info->type != POLARSSL_PK_RSA )
return( POLARSSL_ERR_PK_TYPE_MISMATCH );
}
else
{
if( pub->pk_info != prv->pk_info )
return( POLARSSL_ERR_PK_TYPE_MISMATCH );
}
return( pub->pk_info->check_pair_func( pub->pk_ctx, prv->pk_ctx ) );
return( prv->pk_info->check_pair_func( pub->pk_ctx, prv->pk_ctx ) );
}
/*