Merge remote-tracking branch 'origin/pr/641' into baremetal
This commit is contained in:
commit
8afa0883af
4 changed files with 639 additions and 677 deletions
|
@ -1823,7 +1823,6 @@ static int ssl_parse_server_hello( mbedtls_ssl_context *ssl )
|
|||
MBEDTLS_SSL_ALERT_MSG_INTERNAL_ERROR );
|
||||
return( MBEDTLS_ERR_SSL_BAD_INPUT_DATA );
|
||||
}
|
||||
mbedtls_ssl_optimize_checksum( ssl, server_suite_info );
|
||||
|
||||
MBEDTLS_SSL_DEBUG_MSG( 3, ( "server hello, session id len.: %d", n ) );
|
||||
MBEDTLS_SSL_DEBUG_BUF( 3, "server hello, session id", buf + 35, n );
|
||||
|
@ -3890,7 +3889,10 @@ static int ssl_write_certificate_verify( mbedtls_ssl_context *ssl )
|
|||
sign:
|
||||
#endif
|
||||
|
||||
ssl->handshake->calc_verify( ssl, hash, &hashlen );
|
||||
mbedtls_ssl_calc_verify(
|
||||
mbedtls_ssl_get_minor_ver( ssl ),
|
||||
mbedtls_ssl_suite_get_mac( ciphersuite_info ),
|
||||
ssl, hash, &hashlen );
|
||||
|
||||
#if defined(MBEDTLS_SSL_PROTO_SSL3) || defined(MBEDTLS_SSL_PROTO_TLS1) || \
|
||||
defined(MBEDTLS_SSL_PROTO_TLS1_1)
|
||||
|
|
|
@ -1138,7 +1138,7 @@ static int ssl_parse_client_hello_v2( mbedtls_ssl_context *ssl )
|
|||
return( ret );
|
||||
}
|
||||
|
||||
ssl->handshake->update_checksum( ssl, buf + 2, n );
|
||||
mbedtls_ssl_update_checksum( ssl, buf + 2, n );
|
||||
|
||||
buf = ssl->in_msg;
|
||||
n = ssl->in_left - 5;
|
||||
|
@ -1523,7 +1523,7 @@ read_record_header:
|
|||
|
||||
MBEDTLS_SSL_DEBUG_BUF( 4, "record contents", buf, msg_len );
|
||||
|
||||
ssl->handshake->update_checksum( ssl, buf, msg_len );
|
||||
mbedtls_ssl_update_checksum( ssl, buf, msg_len );
|
||||
|
||||
/*
|
||||
* Handshake layer:
|
||||
|
@ -4524,7 +4524,14 @@ static int ssl_parse_certificate_verify( mbedtls_ssl_context *ssl )
|
|||
*/
|
||||
md_alg = mbedtls_ssl_md_alg_from_hash( ssl->in_msg[i] );
|
||||
|
||||
if( md_alg == MBEDTLS_MD_NONE || mbedtls_ssl_set_calc_verify_md( ssl, ssl->in_msg[i] ) )
|
||||
if(
|
||||
#if defined(MBEDTLS_SHA512_C)
|
||||
md_alg != MBEDTLS_MD_SHA384 &&
|
||||
#endif
|
||||
#if defined(MBEDTLS_SHA256_C)
|
||||
md_alg != MBEDTLS_MD_SHA256 &&
|
||||
#endif
|
||||
1 )
|
||||
{
|
||||
MBEDTLS_SSL_DEBUG_MSG( 1, ( "peer not adhering to requested sig_alg"
|
||||
" for verify message" ) );
|
||||
|
@ -4532,11 +4539,6 @@ static int ssl_parse_certificate_verify( mbedtls_ssl_context *ssl )
|
|||
goto exit;
|
||||
}
|
||||
|
||||
#if !defined(MBEDTLS_MD_SHA1)
|
||||
if( MBEDTLS_MD_SHA1 == md_alg )
|
||||
hash_start += 16;
|
||||
#endif
|
||||
|
||||
/* Info from md_alg will be used instead */
|
||||
hashlen = 0;
|
||||
|
||||
|
@ -4593,7 +4595,9 @@ static int ssl_parse_certificate_verify( mbedtls_ssl_context *ssl )
|
|||
/* Calculate hash and verify signature */
|
||||
{
|
||||
size_t dummy_hlen;
|
||||
ssl->handshake->calc_verify( ssl, hash, &dummy_hlen );
|
||||
mbedtls_ssl_calc_verify(
|
||||
mbedtls_ssl_get_minor_ver( ssl ),
|
||||
md_alg, ssl, hash, &dummy_hlen );
|
||||
}
|
||||
|
||||
if( ( ret = mbedtls_pk_verify( peer_pk,
|
||||
|
|
1231
library/ssl_tls.c
1231
library/ssl_tls.c
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue