Implement received sig_algs check
Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
diff --git a/library/ssl_misc.h b/library/ssl_misc.h
index 68971cd..e4195bf 100644
--- a/library/ssl_misc.h
+++ b/library/ssl_misc.h
@@ -1911,9 +1911,16 @@
static inline int mbedtls_ssl_sig_alg_is_received( const mbedtls_ssl_context *ssl,
uint16_t own_sig_alg )
{
- ((void) ssl);
- ((void) own_sig_alg);
- return( 1 );
+ const uint16_t *sig_alg = ssl->handshake->received_sig_algs;
+ if( sig_alg == NULL )
+ return( 0 );
+
+ for( ; *sig_alg != MBEDTLS_TLS1_3_SIG_NONE; sig_alg++ )
+ {
+ if( *sig_alg == own_sig_alg )
+ return( 1 );
+ }
+ return( 0 );
}
static inline int mbedtls_ssl_sig_alg_is_offered( const mbedtls_ssl_context *ssl,