From 3c2d2b43a54a73c100bd0801ee8162275ca2d168 Mon Sep 17 00:00:00 2001 From: David Horstmann Date: Tue, 22 Sep 2026 10:23:52 +0100 Subject: [PATCH] Make mbedtls_x509_oid_get_md_alg() public Re-add mbedtls_x509_oid_get_md_alg() to the public API. It is used for parsing Trusted Board Boot certificates in TF-A. Signed-off-by: David Horstmann --- include/mbedtls/x509.h | 11 +++++++++++ library/x509_oid.c | 4 ++-- library/x509_oid.h | 14 -------------- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/include/mbedtls/x509.h b/include/mbedtls/x509.h index 130c427c4f..cae6e255e3 100644 --- a/include/mbedtls/x509.h +++ b/include/mbedtls/x509.h @@ -500,4 +500,15 @@ size_t mbedtls_x509_crt_parse_cn_inet_pton(const char *cn, void *dst); } #endif +/** + * \brief Translate hash algorithm OID into md_type + * + * \param oid OID to use + * \param md_alg place to store message digest algorithm + * + * \return 0 if successful, or MBEDTLS_ERR_X509_UNKNOWN_OID + */ +int mbedtls_x509_oid_get_md_alg(const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_alg); + + #endif /* MBEDTLS_X509_H */ diff --git a/library/x509_oid.c b/library/x509_oid.c index 8c67cdfa1c..5c50e3cb32 100644 --- a/library/x509_oid.c +++ b/library/x509_oid.c @@ -509,7 +509,7 @@ FN_OID_GET_OID_BY_ATTR2(mbedtls_x509_oid_get_oid_by_sig_alg, #endif /* MBEDTLS_X509_USE_C || MBEDTLS_X509_CRT_WRITE_C || MBEDTLS_X509_CSR_WRITE_C */ -#if defined(MBEDTLS_X509_OID_HAVE_GET_MD_ALG) +#if defined(MBEDTLS_X509_CRT_PARSE_C) /* * For digestAlgorithm */ @@ -598,6 +598,6 @@ static const oid_md_alg_t oid_md_alg[] = FN_OID_TYPED_FROM_ASN1(oid_md_alg_t, md_alg, oid_md_alg) FN_OID_GET_ATTR1(mbedtls_x509_oid_get_md_alg, oid_md_alg_t, md_alg, mbedtls_md_type_t, md_alg) -#endif /* MBEDTLS_X509_OID_HAVE_GET_MD_ALG */ +#endif /* MBEDTLS_X509_CRT_PARSE_C */ #endif /* some X.509 is enabled */ diff --git a/library/x509_oid.h b/library/x509_oid.h index 5721d8586c..617fb132bf 100644 --- a/library/x509_oid.h +++ b/library/x509_oid.h @@ -107,20 +107,6 @@ int mbedtls_x509_oid_get_oid_by_sig_alg(mbedtls_pk_sigalg_t pk_alg, mbedtls_md_t const char **oid, size_t *olen); #endif /* MBEDTLS_X509_CRT_WRITE_C || MBEDTLS_X509_CSR_WRITE_C */ -#if (defined(MBEDTLS_X509_USE_C) && defined(MBEDTLS_X509_RSASSA_PSS_SUPPORT)) || \ - defined(MBEDTLS_PKCS7_C) -#define MBEDTLS_X509_OID_HAVE_GET_MD_ALG -/** - * \brief Translate hash algorithm OID into md_type - * - * \param oid OID to use - * \param md_alg place to store message digest algorithm - * - * \return 0 if successful, or MBEDTLS_ERR_X509_UNKNOWN_OID - */ -int mbedtls_x509_oid_get_md_alg(const mbedtls_asn1_buf *oid, mbedtls_md_type_t *md_alg); -#endif /* MBEDTLS_X509_OID_HAVE_GET_MD_ALG */ - #if defined(MBEDTLS_X509_CRT_PARSE_C) && !defined(MBEDTLS_X509_REMOVE_INFO) /** * \brief Translate Extended Key Usage OID into description