1
0

Kconfig 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. # Kconfig - Cryptography primitive options for wolfSSL
  2. #
  3. # Copyright (c) 2016 Intel Corporation
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. #
  17. config ZEPHYR_WOLFSSL_MODULE
  18. bool
  19. config WOLFSSL_PROMPTLESS
  20. bool
  21. help
  22. Symbol to disable the prompt for WOLFSSL selection.
  23. This symbol may be used internally in a Kconfig tree to hide the
  24. wolfSSL menu prompt and instead handle the selection of WOLFSSL from
  25. dependent sub-configurations and thus prevent stuck symbol behavior.
  26. menuconfig WOLFSSL
  27. bool "wolfSSL Support" if !WOLFSSL_PROMPTLESS
  28. help
  29. This option enables the wolfSSL cryptography library.
  30. if WOLFSSL
  31. choice WOLFSSL_IMPLEMENTATION
  32. prompt "Select implementation"
  33. default WOLFSSL_BUILTIN
  34. config WOLFSSL_BUILTIN
  35. bool "Enable wolfSSL integrated sources"
  36. help
  37. Link with local wolfSSL sources instead of external library.
  38. config WOLFSSL_LIBRARY
  39. bool "Enable wolfSSL external library"
  40. help
  41. This option enables wolfSSL library.
  42. endchoice
  43. config WOLFSSL_SETTINGS_FILE
  44. string "wolfSSL settings file"
  45. depends on WOLFSSL_BUILTIN
  46. help
  47. Use a specific wolfSSL settings file. The default config file
  48. file can be tweaked with Kconfig. The default settings is
  49. suitable to communicate with majority of HTTPS servers on the Internet,
  50. but has relatively many features enabled. To optimize resources for
  51. special TLS usage, use available Kconfig settings, or select an
  52. alternative config.
  53. rsource "Kconfig.tls-generic"
  54. config WOLFCRYPT_FIPS
  55. bool "wolfCrypt FIPS support"
  56. depends on WOLFSSL_BUILTIN
  57. help
  58. Enables FIPS support in wolfCrypt. Requires the wolfSSL FIPS ready
  59. download that includes fips.c/fips_test.c.
  60. config WOLFSSL_DTLS
  61. bool "wolfSSL DTLS support"
  62. help
  63. Enable DTLS support
  64. config WOLFSSL_ALPN
  65. bool "wolfSSL ALPN support"
  66. help
  67. Enable ALPN support
  68. config WOLFSSL_PSK
  69. bool "wolfSSL PSK support"
  70. help
  71. Enable PSK support
  72. config WOLFSSL_MAX_FRAGMENT_LEN
  73. int
  74. default 3
  75. range 1 6
  76. help
  77. Sets the maximum fragment length wolfSSL will use, values 1-6 correspond to enum values
  78. WOLFSSL_MFL_* in ssl.h
  79. config WOLFCRYPT_ARMASM
  80. bool "wolfCrypt ARM Assembly support"
  81. depends on WOLFSSL_BUILTIN
  82. help
  83. wolfCrypt ARM (ARMv8/ARMv7) assembly support for AES, SHA-2, SHA-3,
  84. ChaCha20/Poly1305 and Curve25519
  85. config WOLFCRYPT_INTELASM
  86. bool "wolfCrypt Intel Assembly support"
  87. depends on WOLFSSL_BUILTIN
  88. help
  89. wolfCrypt Intel Aassembly support (AVX/AVX2/AESNI)
  90. config WOLFSSL_DEBUG
  91. bool "wolfSSL debug activation"
  92. depends on WOLFSSL_BUILTIN
  93. help
  94. Enable debugging activation for wolfSSL configuration. If you use
  95. wolfSSL/Zephyr integration (e.g. net_app), this will activate debug
  96. logging (of the level configured by WOLFSSL_DEBUG_LEVEL).
  97. config WOLFSSL_INSTALL_PATH
  98. string "wolfSSL install path"
  99. depends on WOLFSSL_LIBRARY
  100. help
  101. This option holds the path where the wolfSSL libraries and headers are
  102. installed. Make sure this option is properly set when WOLFSSL_LIBRARY
  103. is enabled otherwise the build will fail.
  104. config APP_LINK_WITH_WOLFSSL
  105. bool "Link 'app' with WOLFSSL"
  106. default y
  107. help
  108. Add WOLFSSL header files to the 'app' include path. It may be
  109. disabled if the include paths for WOLFSSL are causing aliasing
  110. issues for 'app'.
  111. endif