diff --git a/programs/x509/cert_req.c b/programs/x509/cert_req.c index d6e22aaf8c..73d712915a 100644 --- a/programs/x509/cert_req.c +++ b/programs/x509/cert_req.c @@ -314,8 +314,67 @@ usage: q = r; } } else if (strcmp(p, "md") == 0) { - const mbedtls_md_info_t *md_info = - mbedtls_md_info_from_string(q); + const mbedtls_md_info_t *md_info = NULL; + +#if defined(PSA_WANT_ALG_MD5) + if (strcmp(q, "MD5") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_MD5); + } else +#endif +#if defined(PSA_WANT_ALG_RIPEMD160) + if (strcmp(q, "RIPEMD160") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_RIPEMD160); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_1) + if (strcmp(q, "SHA1") == 0 || strcmp(q, "SHA") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_224) + if (strcmp(q, "SHA224") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA224); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_256) + if (strcmp(q, "SHA256") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_384) + if (strcmp(q, "SHA384") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA384); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_512) + if (strcmp(q, "SHA512") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA512); + } else +#endif +#if defined(PSA_WANT_ALG_SHA3_224) + if (strcmp(q, "SHA3-224") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA3_224); + } else +#endif +#if defined(PSA_WANT_ALG_SHA3_256) + if (strcmp(q, "SHA3-256") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA3_256); + } else +#endif +#if defined(PSA_WANT_ALG_SHA3_384) + if (strcmp(q, "SHA3-384") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA3_384); + } else +#endif +#if defined(PSA_WANT_ALG_SHA3_512) + if (strcmp(q, "SHA3-512") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA3_512); + } else +#endif + { + md_info = NULL; + } + if (md_info == NULL) { mbedtls_printf("Invalid argument for option %s\n", p); goto usage; diff --git a/programs/x509/cert_write.c b/programs/x509/cert_write.c index 8ff35f0c2f..5d9a306ee7 100644 --- a/programs/x509/cert_write.c +++ b/programs/x509/cert_write.c @@ -432,8 +432,67 @@ usage: goto usage; } } else if (strcmp(p, "md") == 0) { - const mbedtls_md_info_t *md_info = - mbedtls_md_info_from_string(q); + const mbedtls_md_info_t *md_info = NULL; + +#if defined(PSA_WANT_ALG_MD5) + if (strcmp(q, "MD5") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_MD5); + } else +#endif +#if defined(PSA_WANT_ALG_RIPEMD160) + if (strcmp(q, "RIPEMD160") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_RIPEMD160); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_1) + if (strcmp(q, "SHA1") == 0 || strcmp(q, "SHA") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA1); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_224) + if (strcmp(q, "SHA224") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA224); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_256) + if (strcmp(q, "SHA256") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA256); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_384) + if (strcmp(q, "SHA384") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA384); + } else +#endif +#if defined(PSA_WANT_ALG_SHA_512) + if (strcmp(q, "SHA512") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA512); + } else +#endif +#if defined(PSA_WANT_ALG_SHA3_224) + if (strcmp(q, "SHA3-224") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA3_224); + } else +#endif +#if defined(PSA_WANT_ALG_SHA3_256) + if (strcmp(q, "SHA3-256") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA3_256); + } else +#endif +#if defined(PSA_WANT_ALG_SHA3_384) + if (strcmp(q, "SHA3-384") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA3_384); + } else +#endif +#if defined(PSA_WANT_ALG_SHA3_512) + if (strcmp(q, "SHA3-512") == 0) { + md_info = mbedtls_md_info_from_type(MBEDTLS_MD_SHA3_512); + } else +#endif + { + md_info = NULL; + } + if (md_info == NULL) { mbedtls_printf("Invalid argument for option %s\n", p); goto usage;