Kconfig 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. menu "ESP-TLS"
  2. choice ESP_TLS_LIBRARY_CHOOSE
  3. prompt "Choose SSL/TLS library for ESP-TLS (See help for more Info)"
  4. default ESP_TLS_USING_MBEDTLS
  5. help
  6. The ESP-TLS APIs support multiple backend TLS libraries. Currently mbedTLS and WolfSSL are
  7. supported. Different TLS libraries may support different features and have different resource
  8. usage. Consult the ESP-TLS documentation in ESP-IDF Programming guide for more details.
  9. config ESP_TLS_USING_MBEDTLS
  10. bool "mbedTLS"
  11. config ESP_TLS_USING_WOLFSSL
  12. depends on TLS_STACK_WOLFSSL
  13. bool "wolfSSL (License info in wolfSSL directory README)"
  14. endchoice
  15. config ESP_TLS_USE_SECURE_ELEMENT
  16. bool "Use Secure Element (ATECC608A) with ESP-TLS"
  17. depends on IDF_TARGET_ESP32 && ESP_TLS_USING_MBEDTLS
  18. select ATCA_MBEDTLS_ECDSA
  19. select ATCA_MBEDTLS_ECDSA_SIGN
  20. select ATCA_MBEDTLS_ECDSA_VERIFY
  21. default n
  22. help
  23. Enable use of Secure Element for ESP-TLS, this enables internal support for
  24. ATECC608A peripheral on ESPWROOM32SE, which can be used for TLS connection.
  25. config ESP_TLS_USE_DS_PERIPHERAL
  26. bool "Use Digital Signature (DS) Peripheral with ESP-TLS"
  27. depends on (IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32H2 || IDF_TARGET_ESP32S3)
  28. depends on ESP_TLS_USING_MBEDTLS
  29. default y
  30. help
  31. Enable use of the Digital Signature Peripheral for ESP-TLS.The DS peripheral
  32. can only be used when it is appropriately configured for TLS.
  33. Consult the ESP-TLS documentation in ESP-IDF Programming Guide for more details.
  34. config ESP_TLS_SERVER
  35. bool "Enable ESP-TLS Server"
  36. default n
  37. help
  38. Enable support for creating server side SSL/TLS session, available for mbedTLS
  39. as well as wolfSSL TLS library.
  40. config ESP_TLS_CLIENT_SESSION_TICKETS
  41. bool "Enable client session tickets"
  42. depends on ESP_TLS_USING_MBEDTLS && MBEDTLS_CLIENT_SSL_SESSION_TICKETS
  43. default n
  44. help
  45. Enable session ticket support as specified in RFC5077.
  46. config ESP_TLS_SERVER_SESSION_TICKETS
  47. bool "Enable server session tickets"
  48. depends on ESP_TLS_SERVER && ESP_TLS_USING_MBEDTLS && MBEDTLS_SERVER_SSL_SESSION_TICKETS
  49. default n
  50. help
  51. Enable session ticket support as specified in RFC5077
  52. config ESP_TLS_SERVER_SESSION_TICKET_TIMEOUT
  53. int "Server session ticket timeout in seconds"
  54. depends on ESP_TLS_SERVER_SESSION_TICKETS
  55. default 86400
  56. help
  57. Sets the session ticket timeout used in the tls server.
  58. config ESP_TLS_PSK_VERIFICATION
  59. bool "Enable PSK verification"
  60. select MBEDTLS_PSK_MODES if ESP_TLS_USING_MBEDTLS
  61. select MBEDTLS_KEY_EXCHANGE_PSK if ESP_TLS_USING_MBEDTLS
  62. select MBEDTLS_KEY_EXCHANGE_DHE_PSK if ESP_TLS_USING_MBEDTLS
  63. select MBEDTLS_KEY_EXCHANGE_ECDHE_PSK if ESP_TLS_USING_MBEDTLS
  64. select MBEDTLS_KEY_EXCHANGE_RSA_PSK if ESP_TLS_USING_MBEDTLS
  65. default n
  66. help
  67. Enable support for pre shared key ciphers, supported for both mbedTLS as well as
  68. wolfSSL TLS library.
  69. config ESP_TLS_INSECURE
  70. bool "Allow potentially insecure options"
  71. help
  72. You can enable some potentially insecure options. These options should only be used for testing pusposes.
  73. Only enable these options if you are very sure.
  74. config ESP_TLS_SKIP_SERVER_CERT_VERIFY
  75. bool "Skip server certificate verification by default (WARNING: ONLY FOR TESTING PURPOSE, READ HELP)"
  76. depends on ESP_TLS_INSECURE
  77. help
  78. After enabling this option the esp-tls client will skip the server certificate verification
  79. by default. Note that this option will only modify the default behaviour of esp-tls client
  80. regarding server cert verification. The default behaviour should only be applicable when
  81. no other option regarding the server cert verification is opted in the esp-tls config
  82. (e.g. crt_bundle_attach, use_global_ca_store etc.).
  83. WARNING : Enabling this option comes with a potential risk of establishing a TLS connection
  84. with a server which has a fake identity, provided that the server certificate
  85. is not provided either through API or other mechanism like ca_store etc.
  86. config ESP_WOLFSSL_SMALL_CERT_VERIFY
  87. bool "Enable SMALL_CERT_VERIFY"
  88. depends on ESP_TLS_USING_WOLFSSL
  89. default y
  90. help
  91. Enables server verification with Intermediate CA cert, does not authenticate full chain
  92. of trust upto the root CA cert (After Enabling this option client only needs to have Intermediate
  93. CA certificate of the server to authenticate server, root CA cert is not necessary).
  94. config ESP_DEBUG_WOLFSSL
  95. bool "Enable debug logs for wolfSSL"
  96. depends on ESP_TLS_USING_WOLFSSL
  97. default n
  98. help
  99. Enable detailed debug prints for wolfSSL SSL library.
  100. endmenu