From 109063e4275a438d39b523d37150a236049e6fa9 Mon Sep 17 00:00:00 2001 From: Anthony Hu Date: Mon, 6 Mar 2023 20:11:36 -0500 Subject: [PATCH 1/2] Relaxed parsing of explicit ECC public key --- wolfcrypt/src/asn.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index 67c4bd2be..eb95e0c48 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -31117,11 +31117,13 @@ static int EccSpecifiedECDomainDecode(const byte* input, word32 inSz, if ((ret == 0) && (version < 1 || version > 3)) { ret = ASN_PARSE_E; } +#ifndef WOLFSSL_RELAXED_ASN_PARSING /* Only version 2 and above can have a seed. */ if ((ret == 0) && (dataASN[ECCSPECIFIEDASN_IDX_PARAM_SEED].tag != 0) && (version < 2)) { ret = ASN_PARSE_E; } +#endif /* Only version 2 and above can have a hash algorithm. */ if ((ret == 0) && (dataASN[ECCSPECIFIEDASN_IDX_HASH_SEQ].tag != 0) && (version < 2)) { From f1757b1baeb1be772e246dbb39c2814f6f3ea286 Mon Sep 17 00:00:00 2001 From: Anthony Hu Date: Tue, 7 Mar 2023 07:24:25 -0500 Subject: [PATCH 2/2] WOLFSSL_NO_ASN_STRICT --- wolfcrypt/src/asn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index eb95e0c48..ef56a4729 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -31117,7 +31117,7 @@ static int EccSpecifiedECDomainDecode(const byte* input, word32 inSz, if ((ret == 0) && (version < 1 || version > 3)) { ret = ASN_PARSE_E; } -#ifndef WOLFSSL_RELAXED_ASN_PARSING +#ifndef WOLFSSL_NO_ASN_STRICT /* Only version 2 and above can have a seed. */ if ((ret == 0) && (dataASN[ECCSPECIFIEDASN_IDX_PARAM_SEED].tag != 0) && (version < 2)) {