diff --git a/include/mbedtls/config.h b/include/mbedtls/config.h
|
index d2e3878..cd5c7ad 100644
|
--- a/include/mbedtls/config.h
|
+++ b/include/mbedtls/config.h
|
@@ -2458,7 +2458,7 @@
|
* it, and considering stronger message digests instead.
|
*
|
*/
|
-//#define MBEDTLS_MD4_C
|
+#define MBEDTLS_MD4_C
|
|
/**
|
* \def MBEDTLS_MD5_C
|
diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h
|
index e8b973c..ad363c9 100644
|
--- a/include/mbedtls/ssl.h
|
+++ b/include/mbedtls/ssl.h
|
@@ -904,7 +904,6 @@ struct mbedtls_ssl_config
|
void *p_export_keys; /*!< context for key export callback */
|
#if defined(MBEDTLS_EAP_TLS_EXPORT_KEYS)
|
mbedtls_tls_key_t export_key_type;
|
- unsigned char eap_tls_keyblk[128];
|
#endif
|
#endif
|
|
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
|
index 4525d6e..5fbee68 100644
|
--- a/library/ssl_tls.c
|
+++ b/library/ssl_tls.c
|
@@ -619,7 +619,7 @@ int mbedtls_ssl_derive_keys( mbedtls_ssl_context *ssl )
|
unsigned char tmp[64];
|
unsigned char keyblk[256];
|
#if defined(MBEDTLS_EAP_TLS_EXPORT_KEYS)
|
- unsigned char eap_tls_keyblk[128];
|
+ unsigned char eap_tls_keyblk[192];
|
#endif
|
unsigned char *key1;
|
unsigned char *key2;
|
@@ -780,6 +780,7 @@ int mbedtls_ssl_derive_keys( mbedtls_ssl_context *ssl )
|
MBEDTLS_SSL_DEBUG_RET( 1, "eap_tls_prf", ret );
|
return( ret );
|
}
|
+ memcpy( eap_tls_keyblk + 128, handshake->randbytes, 64 );
|
}
|
#endif
|
|
@@ -1047,7 +1048,7 @@ int mbedtls_ssl_derive_keys( mbedtls_ssl_context *ssl )
|
if ( ssl->conf->export_key_type == EAP_TLS_KEY )
|
ssl->conf->f_export_keys( ssl->conf->p_export_keys,
|
session->master, eap_tls_keyblk,
|
- 0, 128, 0 );
|
+ 0, 128, 64 );
|
else
|
#endif /* MBEDTLS_EAP_TLS_EXPORT_KEYS */
|
ssl->conf->f_export_keys( ssl->conf->p_export_keys,
|