mbedTLS_config.h 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. /*
  2. * Configuration template
  3. *
  4. * Copyright (C) 2006-2022, Arm Limited, All Rights Reserved
  5. * SPDX-License-Identifier: Apache-2.0
  6. *
  7. * Licensed under the Apache License, Version 2.0 (the "License"); you may
  8. * not use this file except in compliance with the License.
  9. * You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing, software
  14. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  15. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. * See the License for the specific language governing permissions and
  17. * limitations under the License.
  18. */
  19. /*
  20. * This set of compile-time options may be used to enable
  21. * or disable features selectively, and reduce the global
  22. * memory footprint.
  23. */
  24. #ifndef MBEDTLS_CONFIG_H
  25. #define MBEDTLS_CONFIG_H
  26. /* System support */
  27. //#define MBEDTLS_HAVE_ASM
  28. //#define MBEDTLS_HAVE_TIME
  29. //#define MBEDTLS_HAVE_TIME_DATE
  30. //#define MBEDTLS_PLATFORM_MEMORY
  31. //#define MBEDTLS_PLATFORM_NO_STD_FUNCTIONS
  32. //#define MBEDTLS_CHECK_PARAMS
  33. /* mbed TLS feature support */
  34. #define MBEDTLS_AES_ROM_TABLES
  35. //#define MBEDTLS_AES_FEWER_TABLES
  36. //#define MBEDTLS_CAMELLIA_SMALL_MEMORY
  37. //#define MBEDTLS_CHECK_RETURN_WARNING
  38. #define MBEDTLS_CIPHER_MODE_CBC
  39. //#define MBEDTLS_CIPHER_MODE_CFB
  40. //#define MBEDTLS_CIPHER_MODE_CTR
  41. //#define MBEDTLS_CIPHER_MODE_OFB
  42. //#define MBEDTLS_CIPHER_MODE_XTS
  43. //#define MBEDTLS_CIPHER_PADDING_PKCS7
  44. //#define MBEDTLS_CIPHER_PADDING_ONE_AND_ZEROS
  45. //#define MBEDTLS_CIPHER_PADDING_ZEROS_AND_LEN
  46. //#define MBEDTLS_CIPHER_PADDING_ZEROS
  47. //#define MBEDTLS_REMOVE_ARC4_CIPHERSUITES
  48. //#define MBEDTLS_REMOVE_3DES_CIPHERSUITES
  49. //#define MBEDTLS_ECP_DP_SECP192R1_ENABLED
  50. //#define MBEDTLS_ECP_DP_SECP224R1_ENABLED
  51. //#define MBEDTLS_ECP_DP_SECP256R1_ENABLED
  52. //#define MBEDTLS_ECP_DP_SECP384R1_ENABLED
  53. //#define MBEDTLS_ECP_DP_SECP521R1_ENABLED
  54. //#define MBEDTLS_ECP_DP_SECP192K1_ENABLED
  55. //#define MBEDTLS_ECP_DP_SECP224K1_ENABLED
  56. //#define MBEDTLS_ECP_DP_SECP256K1_ENABLED
  57. //#define MBEDTLS_ECP_DP_BP256R1_ENABLED
  58. //#define MBEDTLS_ECP_DP_BP384R1_ENABLED
  59. //#define MBEDTLS_ECP_DP_BP512R1_ENABLED
  60. //#define MBEDTLS_ECP_DP_CURVE25519_ENABLED
  61. //#define MBEDTLS_ECP_DP_CURVE448_ENABLED
  62. //#define MBEDTLS_ECP_NIST_OPTIM
  63. //#define MBEDTLS_ECP_RESTARTABLE
  64. //#define MBEDTLS_ECDSA_DETERMINISTIC
  65. //#define MBEDTLS_KEY_EXCHANGE_PSK_ENABLED
  66. //#define MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
  67. //#define MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
  68. //#define MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
  69. //#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
  70. //#define MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
  71. //#define MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
  72. //#define MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
  73. //#define MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
  74. //#define MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
  75. //#define MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
  76. //#define MBEDTLS_PK_PARSE_EC_EXTENDED
  77. //#define MBEDTLS_ERROR_STRERROR_DUMMY
  78. //#define MBEDTLS_GENPRIME
  79. //#define MBEDTLS_FS_IO
  80. //#define MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES
  81. //#define MBEDTLS_NO_PLATFORM_ENTROPY
  82. //#define MBEDTLS_ENTROPY_FORCE_SHA256
  83. //#define MBEDTLS_ENTROPY_NV_SEED
  84. //#define MBEDTLS_PSA_CRYPTO_KEY_ID_ENCODES_OWNER
  85. //#define MBEDTLS_MEMORY_DEBUG
  86. //#define MBEDTLS_MEMORY_BACKTRACE
  87. //#define MBEDTLS_PK_RSA_ALT_SUPPORT
  88. //#define MBEDTLS_PKCS1_V15
  89. //#define MBEDTLS_PKCS1_V21
  90. //#define MBEDTLS_PSA_CRYPTO_BUILTIN_KEYS
  91. //#define MBEDTLS_PSA_CRYPTO_CLIENT
  92. //#define MBEDTLS_PSA_CRYPTO_DRIVERS
  93. //#define MBEDTLS_PSA_CRYPTO_EXTERNAL_RNG
  94. //#define MBEDTLS_PSA_CRYPTO_SPM
  95. //#define MBEDTLS_RSA_NO_CRT
  96. //#define MBEDTLS_SELF_TEST
  97. //#define MBEDTLS_SHA256_SMALLER
  98. //#define MBEDTLS_SHA512_SMALLER
  99. //#define MBEDTLS_SHA512_NO_SHA384
  100. //#define MBEDTLS_SSL_ALL_ALERT_MESSAGES
  101. //#define MBEDTLS_SSL_RECORD_CHECKING
  102. //#define MBEDTLS_SSL_DTLS_CONNECTION_ID
  103. //#define MBEDTLS_SSL_ASYNC_PRIVATE
  104. //#define MBEDTLS_SSL_CONTEXT_SERIALIZATION
  105. //#define MBEDTLS_SSL_DEBUG_ALL
  106. //#define MBEDTLS_SSL_ENCRYPT_THEN_MAC
  107. //#define MBEDTLS_SSL_EXTENDED_MASTER_SECRET
  108. //#define MBEDTLS_SSL_FALLBACK_SCSV
  109. //#define MBEDTLS_SSL_KEEP_PEER_CERTIFICATE
  110. //#define MBEDTLS_SSL_HW_RECORD_ACCEL
  111. //#define MBEDTLS_SSL_CBC_RECORD_SPLITTING
  112. //#define MBEDTLS_SSL_RENEGOTIATION
  113. //#define MBEDTLS_SSL_SRV_SUPPORT_SSLV2_CLIENT_HELLO
  114. //#define MBEDTLS_SSL_SRV_RESPECT_CLIENT_PREFERENCE
  115. //#define MBEDTLS_SSL_MAX_FRAGMENT_LENGTH
  116. //#define MBEDTLS_SSL_PROTO_SSL3
  117. //#define MBEDTLS_SSL_PROTO_TLS1
  118. //#define MBEDTLS_SSL_PROTO_TLS1_1
  119. //#define MBEDTLS_SSL_PROTO_TLS1_2
  120. //#define MBEDTLS_SSL_PROTO_DTLS
  121. //#define MBEDTLS_SSL_ALPN
  122. //#define MBEDTLS_SSL_DTLS_ANTI_REPLAY
  123. //#define MBEDTLS_SSL_DTLS_HELLO_VERIFY
  124. //#define MBEDTLS_SSL_DTLS_SRTP
  125. //#define MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE
  126. //#define MBEDTLS_SSL_DTLS_BADMAC_LIMIT
  127. //#define MBEDTLS_SSL_SESSION_TICKETS
  128. //#define MBEDTLS_SSL_EXPORT_KEYS
  129. //#define MBEDTLS_SSL_SERVER_NAME_INDICATION
  130. //#define MBEDTLS_SSL_TRUNCATED_HMAC
  131. //#define MBEDTLS_SSL_VARIABLE_BUFFER_LENGTH
  132. //#define MBEDTLS_USE_PSA_CRYPTO
  133. //#define MBEDTLS_PSA_CRYPTO_CONFIG
  134. //#define MBEDTLS_VERSION_FEATURES
  135. //#define MBEDTLS_X509_ALLOW_EXTENSIONS_NON_V3
  136. //#define MBEDTLS_X509_ALLOW_UNSUPPORTED_CRITICAL_EXTENSION
  137. //#define MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK
  138. //#define MBEDTLS_X509_CHECK_KEY_USAGE
  139. //#define MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE
  140. //#define MBEDTLS_X509_RSASSA_PSS_SUPPORT
  141. /* mbed TLS modules */
  142. #define MBEDTLS_AES_C
  143. //#define MBEDTLS_ARC4_C
  144. //#define MBEDTLS_ASN1_PARSE_C
  145. //#define MBEDTLS_ASN1_WRITE_C
  146. #define MBEDTLS_BASE64_C
  147. //#define MBEDTLS_BIGNUM_C
  148. //#define MBEDTLS_BLOWFISH_C
  149. //#define MBEDTLS_CAMELLIA_C
  150. //#define MBEDTLS_ARIA_C
  151. //#define MBEDTLS_CCM_C
  152. //#define MBEDTLS_CERTS_C
  153. //#define MBEDTLS_CHACHA20_C
  154. //#define MBEDTLS_CHACHAPOLY_C
  155. #define MBEDTLS_CIPHER_C
  156. //#define MBEDTLS_CMAC_C
  157. //#define MBEDTLS_CTR_DRBG_C
  158. //#define MBEDTLS_DEBUG_C
  159. //#define MBEDTLS_DES_C
  160. //#define MBEDTLS_DHM_C
  161. //#define MBEDTLS_ECDH_C
  162. //#define MBEDTLS_ECDSA_C
  163. //#define MBEDTLS_ECJPAKE_C
  164. //#define MBEDTLS_ECP_C
  165. //#define MBEDTLS_ENTROPY_C
  166. //#define MBEDTLS_ERROR_C
  167. //#define MBEDTLS_GCM_C
  168. //#define MBEDTLS_HAVEGE_C
  169. //#define MBEDTLS_HKDF_C
  170. //#define MBEDTLS_HMAC_DRBG_C
  171. //#define MBEDTLS_NIST_KW_C
  172. //#define MBEDTLS_MD_C
  173. //#define MBEDTLS_MD2_C
  174. //#define MBEDTLS_MD4_C
  175. //#define MBEDTLS_MD5_C
  176. //#define MBEDTLS_MEMORY_BUFFER_ALLOC_C
  177. //#define MBEDTLS_NET_C
  178. //#define MBEDTLS_OID_C
  179. //#define MBEDTLS_PEM_PARSE_C
  180. //#define MBEDTLS_PEM_WRITE_C
  181. //#define MBEDTLS_PK_C
  182. //#define MBEDTLS_PK_PARSE_C
  183. //#define MBEDTLS_PK_WRITE_C
  184. //#define MBEDTLS_PKCS5_C
  185. //#define MBEDTLS_PKCS11_C
  186. //#define MBEDTLS_PKCS12_C
  187. //#define MBEDTLS_PLATFORM_C
  188. //#define MBEDTLS_POLY1305_C
  189. //#define MBEDTLS_PSA_CRYPTO_C
  190. //#define MBEDTLS_PSA_CRYPTO_SE_C
  191. //#define MBEDTLS_PSA_CRYPTO_STORAGE_C
  192. //#define MBEDTLS_PSA_ITS_FILE_C
  193. //#define MBEDTLS_RIPEMD160_C
  194. //#define MBEDTLS_RSA_C
  195. #define MBEDTLS_SHA1_C
  196. #define MBEDTLS_SHA256_C
  197. //#define MBEDTLS_SHA512_C
  198. //#define MBEDTLS_SSL_CACHE_C
  199. //#define MBEDTLS_SSL_COOKIE_C
  200. //#define MBEDTLS_SSL_TICKET_C
  201. //#define MBEDTLS_SSL_CLI_C
  202. //#define MBEDTLS_SSL_SRV_C
  203. //#define MBEDTLS_SSL_TLS_C
  204. //#define MBEDTLS_THREADING_C
  205. //#define MBEDTLS_TIMING_C
  206. //#define MBEDTLS_VERSION_C
  207. //#define MBEDTLS_X509_USE_C
  208. //#define MBEDTLS_X509_CRT_PARSE_C
  209. //#define MBEDTLS_X509_CRL_PARSE_C
  210. //#define MBEDTLS_X509_CSR_PARSE_C
  211. //#define MBEDTLS_X509_CREATE_C
  212. //#define MBEDTLS_X509_CRT_WRITE_C
  213. //#define MBEDTLS_X509_CSR_WRITE_C
  214. //#define MBEDTLS_XTEA_C
  215. #if defined(MBEDTLS_USER_CONFIG_FILE)
  216. #include MBEDTLS_USER_CONFIG_FILE
  217. #endif
  218. #if defined(MBEDTLS_PSA_CRYPTO_CONFIG)
  219. #include "mbedtls/config_psa.h"
  220. #endif
  221. #include "mbedtls/check_config.h"
  222. #endif /* MBEDTLS_CONFIG_H */