From 76cfd3f97feca19ce73b6ea69707aaf85d62f4e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Tue, 15 Sep 2015 12:10:54 +0200 Subject: [PATCH] Add EC J-PAKE context in handshake structure --- include/mbedtls/ssl_internal.h | 7 +++++++ library/ssl_tls.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/include/mbedtls/ssl_internal.h b/include/mbedtls/ssl_internal.h index e9d06daa01..dc2ddc1926 100644 --- a/include/mbedtls/ssl_internal.h +++ b/include/mbedtls/ssl_internal.h @@ -41,6 +41,10 @@ #include "sha512.h" #endif +#if defined(MBEDTLS_ECJPAKE_C) +#include "ecjpake.h" +#endif + #if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && !defined(inline) #define inline __inline #endif @@ -168,6 +172,9 @@ struct mbedtls_ssl_handshake_params #if defined(MBEDTLS_ECDH_C) mbedtls_ecdh_context ecdh_ctx; /*!< ECDH key exchange */ #endif +#if defined(MBEDTLS_ECJPAKE_C) + mbedtls_ecjpake_context ecjpake_ctx; /*!< EC J-PAKE key exchange */ +#endif #if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) || \ defined(MBEDTLS_ECJPAKE_C) const mbedtls_ecp_curve_info **curves; /*!< Supported elliptic curves */ diff --git a/library/ssl_tls.c b/library/ssl_tls.c index 14ee521ca4..93055eb94a 100644 --- a/library/ssl_tls.c +++ b/library/ssl_tls.c @@ -4932,6 +4932,9 @@ static void ssl_handshake_params_init( mbedtls_ssl_handshake_params *handshake ) #if defined(MBEDTLS_ECDH_C) mbedtls_ecdh_init( &handshake->ecdh_ctx ); #endif +#if defined(MBEDTLS_ECJPAKE_C) + mbedtls_ecjpake_init( &handshake->ecjpake_ctx ); +#endif #if defined(MBEDTLS_SSL_SERVER_NAME_INDICATION) handshake->sni_authmode = MBEDTLS_SSL_VERIFY_UNSET; @@ -6590,6 +6593,9 @@ void mbedtls_ssl_handshake_free( mbedtls_ssl_handshake_params *handshake ) #if defined(MBEDTLS_ECDH_C) mbedtls_ecdh_free( &handshake->ecdh_ctx ); #endif +#if defined(MBEDTLS_ECJPAKE_C) + mbedtls_ecjpake_free( &handshake->ecjpake_ctx ); +#endif #if defined(MBEDTLS_ECDH_C) || defined(MBEDTLS_ECDSA_C) /* explicit void pointer cast for buggy MS compiler */