check_crypto_config.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /**
  2. * \file check_crypto_config.h
  3. *
  4. * \brief Consistency checks for PSA configuration options
  5. */
  6. /*
  7. * Copyright The Mbed TLS Contributors
  8. * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
  9. */
  10. /*
  11. * It is recommended to include this file from your crypto_config.h
  12. * in order to catch dependency issues early.
  13. */
  14. #ifndef MBEDTLS_CHECK_CRYPTO_CONFIG_H
  15. #define MBEDTLS_CHECK_CRYPTO_CONFIG_H
  16. #if defined(PSA_WANT_ALG_CCM) && \
  17. !(defined(PSA_WANT_KEY_TYPE_AES) || \
  18. defined(PSA_WANT_KEY_TYPE_CAMELLIA))
  19. #error "PSA_WANT_ALG_CCM defined, but not all prerequisites"
  20. #endif
  21. #if defined(PSA_WANT_ALG_CMAC) && \
  22. !(defined(PSA_WANT_KEY_TYPE_AES) || \
  23. defined(PSA_WANT_KEY_TYPE_CAMELLIA) || \
  24. defined(PSA_WANT_KEY_TYPE_DES))
  25. #error "PSA_WANT_ALG_CMAC defined, but not all prerequisites"
  26. #endif
  27. #if defined(PSA_WANT_ALG_DETERMINISTIC_ECDSA) && \
  28. !(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) || \
  29. defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))
  30. #error "PSA_WANT_ALG_DETERMINISTIC_ECDSA defined, but not all prerequisites"
  31. #endif
  32. #if defined(PSA_WANT_ALG_ECDSA) && \
  33. !(defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) || \
  34. defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY))
  35. #error "PSA_WANT_ALG_ECDSA defined, but not all prerequisites"
  36. #endif
  37. #if defined(PSA_WANT_ALG_GCM) && \
  38. !(defined(PSA_WANT_KEY_TYPE_AES) || \
  39. defined(PSA_WANT_KEY_TYPE_CAMELLIA))
  40. #error "PSA_WANT_ALG_GCM defined, but not all prerequisites"
  41. #endif
  42. #if defined(PSA_WANT_ALG_RSA_PKCS1V15_CRYPT) && \
  43. !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) || \
  44. defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
  45. #error "PSA_WANT_ALG_RSA_PKCS1V15_CRYPT defined, but not all prerequisites"
  46. #endif
  47. #if defined(PSA_WANT_ALG_RSA_PKCS1V15_SIGN) && \
  48. !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) || \
  49. defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
  50. #error "PSA_WANT_ALG_RSA_PKCS1V15_SIGN defined, but not all prerequisites"
  51. #endif
  52. #if defined(PSA_WANT_ALG_RSA_OAEP) && \
  53. !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) || \
  54. defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
  55. #error "PSA_WANT_ALG_RSA_OAEP defined, but not all prerequisites"
  56. #endif
  57. #if defined(PSA_WANT_ALG_RSA_PSS) && \
  58. !(defined(PSA_WANT_KEY_TYPE_RSA_KEY_PAIR) || \
  59. defined(PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY))
  60. #error "PSA_WANT_ALG_RSA_PSS defined, but not all prerequisites"
  61. #endif
  62. #if defined(PSA_WANT_KEY_TYPE_ECC_KEY_PAIR) && \
  63. !defined(PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY)
  64. #error "PSA_WANT_KEY_TYPE_ECC_KEY_PAIR defined, but not all prerequisites"
  65. #endif
  66. #endif /* MBEDTLS_CHECK_CRYPTO_CONFIG_H */