diff --git a/library/ssl_tls13_generic.c b/library/ssl_tls13_generic.c index fabc5d1587..12b7223845 100644 --- a/library/ssl_tls13_generic.c +++ b/library/ssl_tls13_generic.c @@ -115,8 +115,12 @@ int mbedtls_ssl_tls13_parse_sig_alg_ext( mbedtls_ssl_context *ssl, MBEDTLS_SSL_DEBUG_MSG( 4, ( "received signature algorithm: 0x%x", sig_alg ) ); - if( ! mbedtls_ssl_sig_alg_is_offered( ssl, sig_alg ) || - ! mbedtls_ssl_sig_alg_is_supported( ssl, sig_alg ) ) + if( ! mbedtls_ssl_sig_alg_is_supported( ssl, sig_alg ) +#if defined(MBEDTLS_SSL_CLI_C) + || ( ( ssl->conf->endpoint == MBEDTLS_SSL_IS_CLIENT ) + && ! mbedtls_ssl_sig_alg_is_offered( ssl, sig_alg ) ) +#endif /* MBEDTLS_SSL_CLI_C */ + ) continue; if( common_idx + 1 < MBEDTLS_RECEIVED_SIG_ALGS_SIZE ) diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c index 9ebab81c41..5aed7ffb71 100644 --- a/library/ssl_tls13_server.c +++ b/library/ssl_tls13_server.c @@ -448,6 +448,12 @@ static int ssl_tls13_parse_client_hello( mbedtls_ssl_context *ssl, } p += 2; + /* + * Only support TLS 1.3 currently, temporarily set the version. + */ + ssl->major_ver = MBEDTLS_SSL_MAJOR_VERSION_3; + ssl->minor_ver = MBEDTLS_SSL_MINOR_VERSION_4; + /* * Save client random */