Fix bug in X.509 CRT verification code

This commit is contained in:
Hanno Becker 2017-09-25 10:47:58 +01:00 committed by Manuel Pégourié-Gonnard
parent 52de8e01a0
commit dc8751d31e

View file

@ -1958,7 +1958,7 @@ static int x509_crt_verify_top(
*/ */
if( child->subject_raw.len == trust_ca->subject_raw.len && if( child->subject_raw.len == trust_ca->subject_raw.len &&
memcmp( child->subject_raw.p, trust_ca->subject_raw.p, memcmp( child->subject_raw.p, trust_ca->subject_raw.p,
child->issuer_raw.len ) == 0 ) child->subject_raw.len ) == 0 )
{ {
check_path_cnt--; check_path_cnt--;
} }
@ -2008,7 +2008,7 @@ static int x509_crt_verify_top(
if( trust_ca != NULL && if( trust_ca != NULL &&
( child->subject_raw.len != trust_ca->subject_raw.len || ( child->subject_raw.len != trust_ca->subject_raw.len ||
memcmp( child->subject_raw.p, trust_ca->subject_raw.p, memcmp( child->subject_raw.p, trust_ca->subject_raw.p,
child->issuer_raw.len ) != 0 ) ) child->subject_raw.len ) != 0 ) )
{ {
#if defined(MBEDTLS_X509_CRL_PARSE_C) #if defined(MBEDTLS_X509_CRL_PARSE_C)
/* Check trusted CA's CRL for the chain's top crt */ /* Check trusted CA's CRL for the chain's top crt */