Kconfig 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. help
  22. Enable use of Secure Element for ESP-TLS, this enables internal support for
  23. ATECC608A peripheral on ESPWROOM32SE, which can be used for TLS connection.
  24. config ESP_TLS_USE_DS_PERIPHERAL
  25. bool "Use Digital Signature (DS) Peripheral with ESP-TLS"
  26. depends on ESP_TLS_USING_MBEDTLS && SOC_DIG_SIGN_SUPPORTED
  27. default y
  28. help
  29. Enable use of the Digital Signature Peripheral for ESP-TLS.The DS peripheral
  30. can only be used when it is appropriately configured for TLS.
  31. Consult the ESP-TLS documentation in ESP-IDF Programming Guide for more details.
  32. config ESP_TLS_CLIENT_SESSION_TICKETS
  33. bool "Enable client session tickets"
  34. depends on ESP_TLS_USING_MBEDTLS && MBEDTLS_CLIENT_SSL_SESSION_TICKETS
  35. help
  36. Enable session ticket support as specified in RFC5077.
  37. config ESP_TLS_SERVER
  38. bool "Enable ESP-TLS Server"
  39. help
  40. Enable support for creating server side SSL/TLS session, available for mbedTLS
  41. as well as wolfSSL TLS library.
  42. config ESP_TLS_SERVER_SESSION_TICKETS
  43. bool "Enable server session tickets"
  44. depends on ESP_TLS_SERVER && ESP_TLS_USING_MBEDTLS && MBEDTLS_SERVER_SSL_SESSION_TICKETS
  45. help
  46. Enable session ticket support as specified in RFC5077
  47. config ESP_TLS_SERVER_SESSION_TICKET_TIMEOUT
  48. int "Server session ticket timeout in seconds"
  49. depends on ESP_TLS_SERVER_SESSION_TICKETS
  50. default 86400
  51. help
  52. Sets the session ticket timeout used in the tls server.
  53. config ESP_TLS_SERVER_MIN_AUTH_MODE_OPTIONAL
  54. bool "ESP-TLS Server: Set minimum Certificate Verification mode to Optional"
  55. depends on ESP_TLS_SERVER && ESP_TLS_USING_MBEDTLS
  56. help
  57. When this option is enabled, the peer (here, the client) certificate is checked by the server,
  58. however the handshake continues even if verification failed. By default, the
  59. peer certificate is not checked and ignored by the server.
  60. mbedtls_ssl_get_verify_result() can be called after the handshake is complete to
  61. retrieve status of verification.
  62. config ESP_TLS_PSK_VERIFICATION
  63. bool "Enable PSK verification"
  64. select MBEDTLS_PSK_MODES if ESP_TLS_USING_MBEDTLS
  65. select MBEDTLS_KEY_EXCHANGE_PSK if ESP_TLS_USING_MBEDTLS
  66. select MBEDTLS_KEY_EXCHANGE_DHE_PSK if ESP_TLS_USING_MBEDTLS && MBEDTLS_DHM_C
  67. select MBEDTLS_KEY_EXCHANGE_ECDHE_PSK if ESP_TLS_USING_MBEDTLS && MBEDTLS_ECDH_C
  68. select MBEDTLS_KEY_EXCHANGE_RSA_PSK if ESP_TLS_USING_MBEDTLS
  69. help
  70. Enable support for pre shared key ciphers, supported for both mbedTLS as well as
  71. wolfSSL TLS library.
  72. config ESP_TLS_INSECURE
  73. bool "Allow potentially insecure options"
  74. help
  75. You can enable some potentially insecure options. These options should only be used for testing pusposes.
  76. Only enable these options if you are very sure.
  77. config ESP_TLS_SKIP_SERVER_CERT_VERIFY
  78. bool "Skip server certificate verification by default (WARNING: ONLY FOR TESTING PURPOSE, READ HELP)"
  79. depends on ESP_TLS_INSECURE
  80. help
  81. After enabling this option the esp-tls client will skip the server certificate verification
  82. by default. Note that this option will only modify the default behaviour of esp-tls client
  83. regarding server cert verification. The default behaviour should only be applicable when
  84. no other option regarding the server cert verification is opted in the esp-tls config
  85. (e.g. crt_bundle_attach, use_global_ca_store etc.).
  86. WARNING : Enabling this option comes with a potential risk of establishing a TLS connection
  87. with a server which has a fake identity, provided that the server certificate
  88. is not provided either through API or other mechanism like ca_store etc.
  89. config ESP_WOLFSSL_SMALL_CERT_VERIFY
  90. bool "Enable SMALL_CERT_VERIFY"
  91. depends on ESP_TLS_USING_WOLFSSL
  92. default y
  93. help
  94. Enables server verification with Intermediate CA cert, does not authenticate full chain
  95. of trust upto the root CA cert (After Enabling this option client only needs to have Intermediate
  96. CA certificate of the server to authenticate server, root CA cert is not necessary).
  97. config ESP_DEBUG_WOLFSSL
  98. bool "Enable debug logs for wolfSSL"
  99. depends on ESP_TLS_USING_WOLFSSL
  100. help
  101. Enable detailed debug prints for wolfSSL SSL library.
  102. endmenu