From f1c3c4e77ce6d0a6c220e3ff58322fcdcc79eae9 Mon Sep 17 00:00:00 2001 From: Jerry Yu Date: Tue, 10 May 2022 11:36:35 +0800 Subject: [PATCH] fix various issues Signed-off-by: Jerry Yu --- library/ssl_tls13_server.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c index 02829e319..db6cbb678 100644 --- a/library/ssl_tls13_server.c +++ b/library/ssl_tls13_server.c @@ -1449,8 +1449,11 @@ cleanup: static int ssl_tls13_write_server_certificate( mbedtls_ssl_context *ssl ) { #if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) - int ret = mbedtls_ssl_tls13_write_certificate( ssl ); - if(ret != 0) + int ret; + if( mbedtls_ssl_own_cert( ssl ) == NULL ) + return( MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE ); + ret = mbedtls_ssl_tls13_write_certificate( ssl ); + if( ret != 0 ) return( ret ); #endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_CERTIFICATE_VERIFY ); @@ -1464,7 +1467,7 @@ static int ssl_tls13_write_certificate_verify( mbedtls_ssl_context *ssl ) { #if defined(MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED) int ret = mbedtls_ssl_tls13_write_certificate_verify( ssl ); - if(ret != 0) + if( ret != 0 ) return( ret ); #endif /* MBEDTLS_KEY_EXCHANGE_WITH_CERT_ENABLED */ mbedtls_ssl_handshake_set_state( ssl, MBEDTLS_SSL_SERVER_FINISHED );