Save Hello random bytes for later use
This commit is contained in:
parent
ae3f8511fd
commit
a3024eef7b
2 changed files with 13 additions and 1 deletions
|
@ -728,6 +728,12 @@ struct mbedtls_ssl_transform
|
||||||
z_stream ctx_deflate; /*!< compression context */
|
z_stream ctx_deflate; /*!< compression context */
|
||||||
z_stream ctx_inflate; /*!< decompression context */
|
z_stream ctx_inflate; /*!< decompression context */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION)
|
||||||
|
/* We need the Hello random bytes in order to re-derive keys from the
|
||||||
|
* Master Secret and other session info, see ssl_populate_transform() */
|
||||||
|
unsigned char randbytes[64]; /*!< ServerHello.random+ClientHello.random */
|
||||||
|
#endif /* MBEDTLS_SSL_CONTEXT_SERIALIZATION */
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline int mbedtls_ssl_transform_get_minor_ver( mbedtls_ssl_transform const *transform )
|
static inline int mbedtls_ssl_transform_get_minor_ver( mbedtls_ssl_transform const *transform )
|
||||||
|
|
|
@ -812,7 +812,9 @@ static int ssl_populate_transform( mbedtls_ssl_transform *transform,
|
||||||
(void) ssl;
|
(void) ssl;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Copy info about negotiated version and extensions */
|
/*
|
||||||
|
* Some data just needs copying into the structure
|
||||||
|
*/
|
||||||
#if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) && \
|
#if defined(MBEDTLS_SSL_ENCRYPT_THEN_MAC) && \
|
||||||
defined(MBEDTLS_SSL_SOME_MODES_USE_MAC)
|
defined(MBEDTLS_SSL_SOME_MODES_USE_MAC)
|
||||||
transform->encrypt_then_mac = encrypt_then_mac;
|
transform->encrypt_then_mac = encrypt_then_mac;
|
||||||
|
@ -824,6 +826,10 @@ static int ssl_populate_transform( mbedtls_ssl_transform *transform,
|
||||||
((void) minor_ver);
|
((void) minor_ver);
|
||||||
#endif /* !MBEDTLS_SSL_CONF_FIXED_MINOR_VER */
|
#endif /* !MBEDTLS_SSL_CONF_FIXED_MINOR_VER */
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SSL_CONTEXT_SERIALIZATION)
|
||||||
|
memcpy( transform->randbytes, randbytes, sizeof( transform->randbytes ) );
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Get various info structures
|
* Get various info structures
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue