Merge pull request #6902 from dgarske/various_20231020

Fixes for PKCS w/out RSA and Cert/CSR signing with unknown OID
This commit is contained in:
JacobBarthelmeh
2023-11-01 10:58:10 -06:00
committed by GitHub
2 changed files with 8 additions and 0 deletions

View File

@ -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;
}

View File

@ -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;