Add fix for empty digestAlgorithm

Signed-off-by: Ben Taylor <ben.taylor@linaro.org>
This commit is contained in:
Ben Taylor 2026-05-01 13:55:30 +01:00
parent d3b10844ef
commit e23a57ad43

View File

@ -142,6 +142,10 @@ static int pkcs7_get_digest_algorithm_set(unsigned char **p,
return MBEDTLS_ERROR_ADD(MBEDTLS_ERR_PKCS7_INVALID_ALG, ret);
}
if (len == 0) {
return 0;
}
end = *p + len;
ret = mbedtls_asn1_get_alg_null(p, end, alg);
@ -481,9 +485,11 @@ static int pkcs7_get_signed_data(unsigned char *buf, size_t buflen,
return ret;
}
ret = mbedtls_x509_oid_get_md_alg(&signed_data->digest_alg_identifiers, &md_alg);
if (ret != 0) {
return MBEDTLS_ERR_PKCS7_INVALID_ALG;
if (signed_data->digest_alg_identifiers.p != NULL) {
ret = mbedtls_x509_oid_get_md_alg(&signed_data->digest_alg_identifiers, &md_alg);
if (ret != 0) {
return MBEDTLS_ERR_PKCS7_INVALID_ALG;
}
}
mbedtls_pkcs7_buf content_type;