From 2bb8eeae85045de6c63824dfecfcf999c1d81efa Mon Sep 17 00:00:00 2001 From: Kareem Date: Fri, 3 Mar 2023 11:42:46 -0700 Subject: [PATCH] Fix not ignoring date errors when VERIFY_SKIP_DATE is set --- wolfcrypt/src/asn.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 97f45610d..400f91871 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -21266,8 +21266,11 @@ int ParseCertRelative(DecodedCert* cert, int type, int verify, void* cm) cert->badDate = 0; cert->criticalExt = 0; if ((ret = DecodeToKey(cert, verify)) < 0) { - if (ret == ASN_BEFORE_DATE_E || ret == ASN_AFTER_DATE_E) + if (ret == ASN_BEFORE_DATE_E || ret == ASN_AFTER_DATE_E) { cert->badDate = ret; + if (verify == VERIFY_SKIP_DATE) + ret = 0; + } else return ret; } @@ -21510,6 +21513,8 @@ int ParseCertRelative(DecodedCert* cert, int type, int verify, void* cm) ret = DecodeCert(cert, verify, &cert->criticalExt); if (ret == ASN_BEFORE_DATE_E || ret == ASN_AFTER_DATE_E) { cert->badDate = ret; + if (verify == VERIFY_SKIP_DATE) + ret = 0; } else if (ret < 0) { WOLFSSL_ERROR_VERBOSE(ret);