Merge ca03136971b9d37cd91a100f425a39b7d5a704d3 into d8d5ea7cbc42b7800a3b030fb4341810074e7cb0

This commit is contained in:
David Horstmann 2026-10-27 21:19:40 -04:00 committed by GitHub
commit 75e026538d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 25 additions and 18 deletions

View File

@ -500,4 +500,27 @@ size_t mbedtls_x509_crt_parse_cn_inet_pton(const char *cn, void *dst);
} }
#endif #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);
/**
* \brief Translate a signature algorithm OID and parameters into PK sigalg
*
* \param sig_oid OID of the signature algorithm from the AlgorithmIdentifier type
* \param sig_params Signature parameters from the AlgorithmIdentifier type
* \param[out] md_alg The hash algorithm component of the signature algorithm (if any)
* \param[out] pk_alg The PK algorithm that corresponds to the signature algorithm
*
* \return 0 if successful, or a negative error code on failure
*/
int mbedtls_x509_get_sig_alg(const mbedtls_x509_buf *sig_oid, const mbedtls_x509_buf *sig_params,
mbedtls_md_type_t *md_alg, mbedtls_pk_sigalg_t *pk_alg);
#endif /* MBEDTLS_X509_H */ #endif /* MBEDTLS_X509_H */

View File

@ -32,8 +32,6 @@ int mbedtls_x509_get_rsassa_pss_params(const mbedtls_x509_buf *params,
int *salt_len); int *salt_len);
#endif #endif
int mbedtls_x509_get_sig(unsigned char **p, const unsigned char *end, mbedtls_x509_buf *sig); int mbedtls_x509_get_sig(unsigned char **p, const unsigned char *end, mbedtls_x509_buf *sig);
int mbedtls_x509_get_sig_alg(const mbedtls_x509_buf *sig_oid, const mbedtls_x509_buf *sig_params,
mbedtls_md_type_t *md_alg, mbedtls_pk_sigalg_t *pk_alg);
int mbedtls_x509_get_time(unsigned char **p, const unsigned char *end, int mbedtls_x509_get_time(unsigned char **p, const unsigned char *end,
mbedtls_x509_time *t); mbedtls_x509_time *t);
int mbedtls_x509_get_serial(unsigned char **p, const unsigned char *end, int mbedtls_x509_get_serial(unsigned char **p, const unsigned char *end,

View File

@ -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 */ #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 * 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_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) 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 */ #endif /* some X.509 is enabled */

View File

@ -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); const char **oid, size_t *olen);
#endif /* MBEDTLS_X509_CRT_WRITE_C || MBEDTLS_X509_CSR_WRITE_C */ #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) #if defined(MBEDTLS_X509_CRT_PARSE_C) && !defined(MBEDTLS_X509_REMOVE_INFO)
/** /**
* \brief Translate Extended Key Usage OID into description * \brief Translate Extended Key Usage OID into description