diff --git a/tests/api.c b/tests/api.c index 9e2c5819f..9b332a0ee 100644 --- a/tests/api.c +++ b/tests/api.c @@ -27647,6 +27647,7 @@ static int test_wc_PKCS7_EncodeDecodeEnvelopedData(void) tmpBytePtr = pkcs7->singleCert; pkcs7->singleCert = NULL; } + #ifndef NO_RSA #if defined(NO_PKCS7_STREAM) /* when none streaming mode is used and PKCS7 is in bad state buffer error * is returned from kari parse which gets set to bad func arg */ @@ -27658,6 +27659,7 @@ static int test_wc_PKCS7_EncodeDecodeEnvelopedData(void) (word32)sizeof(output), decoded, (word32)sizeof(decoded)), ASN_PARSE_E); #endif + #endif /* !NO_RSA */ if (pkcs7 != NULL) { pkcs7->singleCert = tmpBytePtr; } diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index e97445f56..b68b15f20 100644 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -29007,6 +29007,12 @@ int AddSignature(byte* buf, int bodySz, const byte* sig, int sigSz, /* Set signature OID and signature data. */ SetASN_OID(&dataASN[SIGASN_IDX_SIGALGO_OID], (word32)sigAlgoType, oidSigType); + if (dataASN[SIGASN_IDX_SIGALGO_OID].data.buffer.data == NULL) { + /* The OID was not found or compiled in! */ + ret = ASN_UNKNOWN_OID_E; + } + } + if (ret == 0) { if (IsSigAlgoECC((word32)sigAlgoType)) { /* ECDSA and EdDSA doesn't have NULL tagged item. */ dataASN[SIGASN_IDX_SIGALGO_NULL].noOut = 1;