New function mbedtls_ecjpake_set_point_format
Use this instead of accessing the field directly. Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
parent
71acc6e8d9
commit
cd07e22048
5 changed files with 37 additions and 2 deletions
4
ChangeLog.d/ecjpake-point_format.txt
Normal file
4
ChangeLog.d/ecjpake-point_format.txt
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Features
|
||||||
|
* Use the new function mbedtls_ecjpake_set_point_format() to select the
|
||||||
|
point format for ECJPAKE instead of accessing the point_format field
|
||||||
|
directly, which is no longer supported.
|
|
@ -131,6 +131,21 @@ int mbedtls_ecjpake_setup( mbedtls_ecjpake_context *ctx,
|
||||||
const unsigned char *secret,
|
const unsigned char *secret,
|
||||||
size_t len );
|
size_t len );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Set the point format for future reads and writes.
|
||||||
|
*
|
||||||
|
* \param ctx The ECJPAKE context to configure.
|
||||||
|
* \param point_format The point format to use:
|
||||||
|
* #MBEDTLS_ECP_PF_UNCOMPRESSED (default)
|
||||||
|
* or #MBEDTLS_ECP_PF_COMPRESSED.
|
||||||
|
*
|
||||||
|
* \return \c 0 if successful.
|
||||||
|
* \return #MBEDTLS_ERR_ECP_BAD_INPUT_DATA if \p point_format
|
||||||
|
* is invalid.
|
||||||
|
*/
|
||||||
|
int mbedtls_ecjpake_set_point_format( mbedtls_ecjpake_context *ctx,
|
||||||
|
int point_format );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Check if an ECJPAKE context is ready for use.
|
* \brief Check if an ECJPAKE context is ready for use.
|
||||||
*
|
*
|
||||||
|
|
|
@ -128,6 +128,20 @@ cleanup:
|
||||||
return( ret );
|
return( ret );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int mbedtls_ecjpake_set_point_format( mbedtls_ecjpake_context *ctx,
|
||||||
|
int point_format )
|
||||||
|
{
|
||||||
|
switch( point_format )
|
||||||
|
{
|
||||||
|
case MBEDTLS_ECP_PF_UNCOMPRESSED:
|
||||||
|
case MBEDTLS_ECP_PF_COMPRESSED:
|
||||||
|
ctx->point_format = point_format;
|
||||||
|
return( 0 );
|
||||||
|
default:
|
||||||
|
return( MBEDTLS_ERR_ECP_BAD_INPUT_DATA );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check if context is ready for use
|
* Check if context is ready for use
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1663,7 +1663,8 @@ static int ssl_parse_supported_point_formats_ext( mbedtls_ssl_context *ssl,
|
||||||
ssl->handshake->ecdh_ctx.point_format = p[0];
|
ssl->handshake->ecdh_ctx.point_format = p[0];
|
||||||
#endif
|
#endif
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
|
||||||
ssl->handshake->ecjpake_ctx.point_format = p[0];
|
mbedtls_ecjpake_set_point_format( &ssl->handshake->ecjpake_ctx,
|
||||||
|
p[0] );
|
||||||
#endif
|
#endif
|
||||||
MBEDTLS_SSL_DEBUG_MSG( 4, ( "point format selected: %d", p[0] ) );
|
MBEDTLS_SSL_DEBUG_MSG( 4, ( "point format selected: %d", p[0] ) );
|
||||||
return( 0 );
|
return( 0 );
|
||||||
|
|
|
@ -407,7 +407,8 @@ static int ssl_parse_supported_point_formats( mbedtls_ssl_context *ssl,
|
||||||
ssl->handshake->ecdh_ctx.point_format = p[0];
|
ssl->handshake->ecdh_ctx.point_format = p[0];
|
||||||
#endif
|
#endif
|
||||||
#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
|
#if defined(MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED)
|
||||||
ssl->handshake->ecjpake_ctx.point_format = p[0];
|
mbedtls_ecjpake_set_point_format( &ssl->handshake->ecjpake_ctx,
|
||||||
|
p[0] );
|
||||||
#endif
|
#endif
|
||||||
MBEDTLS_SSL_DEBUG_MSG( 4, ( "point format selected: %d", p[0] ) );
|
MBEDTLS_SSL_DEBUG_MSG( 4, ( "point format selected: %d", p[0] ) );
|
||||||
return( 0 );
|
return( 0 );
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue