mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-25 02:02:03 +03:00
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:
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 );
|
||||||
|
Reference in New Issue
Block a user