aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRonald Cron <ronald.cron@arm.com>2024-05-15 09:27:27 +0200
committerRonald Cron <ronald.cron@arm.com>2024-05-16 08:12:03 +0200
commitb0c96f47e7dfa7f463cb92f886842a48d85e1d26 (patch)
treeb0823520f425a192dffbd4fcda0fbf00f9a697b6 /include
parentb3a400b9bd060ee9b78eae6d44f3986e9d34632b (diff)
downloadmbedtls-b0c96f47e7dfa7f463cb92f886842a48d85e1d26.zip
mbedtls-b0c96f47e7dfa7f463cb92f886842a48d85e1d26.tar.gz
mbedtls-b0c96f47e7dfa7f463cb92f886842a48d85e1d26.tar.bz2
Resolve some HMAC dependencies automatically
Signed-off-by: Ronald Cron <ronald.cron@arm.com>
Diffstat (limited to 'include')
-rw-r--r--include/mbedtls/config_psa.h2
-rw-r--r--include/psa/crypto_adjust_config_dependencies.h27
2 files changed, 29 insertions, 0 deletions
diff --git a/include/mbedtls/config_psa.h b/include/mbedtls/config_psa.h
index 17da61b..de961ec 100644
--- a/include/mbedtls/config_psa.h
+++ b/include/mbedtls/config_psa.h
@@ -22,6 +22,8 @@
#include "psa/crypto_adjust_config_synonyms.h"
+#include "psa/crypto_adjust_config_dependencies.h"
+
#include "mbedtls/config_adjust_psa_superset_legacy.h"
#if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
diff --git a/include/psa/crypto_adjust_config_dependencies.h b/include/psa/crypto_adjust_config_dependencies.h
new file mode 100644
index 0000000..776f05b
--- /dev/null
+++ b/include/psa/crypto_adjust_config_dependencies.h
@@ -0,0 +1,27 @@
+/**
+ * \file psa/crypto_adjust_config_dependencies.h
+ * \brief Adjust PSA configuration by resolving some dependencies.
+ *
+ * See docs/proposed/psa-conditional-inclusion-c.md.
+ * If a cryptographic mechanism A depends on a cryptographic mechanism B and
+ * A is enabled then enable B.
+ */
+/*
+ * Copyright The Mbed TLS Contributors
+ * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
+ */
+
+#ifndef PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H
+#define PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H
+
+#if defined(PSA_WANT_ALG_TLS12_PRF) || \
+ defined(PSA_WANT_ALG_TLS12_PSK_TO_MS) || \
+ defined(PSA_WANT_ALG_HKDF) || \
+ defined(PSA_WANT_ALG_HKDF_EXTRACT) || \
+ defined(PSA_WANT_ALG_HKDF_EXPAND) || \
+ defined(PSA_WANT_ALG_PBKDF2_HMAC)
+#define PSA_WANT_ALG_HMAC 1
+#define PSA_WANT_KEY_TYPE_HMAC 1
+#endif
+
+#endif /* PSA_CRYPTO_ADJUST_CONFIG_DEPENDENCIES_H */