mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
dae98ddff7
Curretly wpa_supplicant uses internal APIs for RSA operations which internally uses lots of big num operations. Big num operations are CPU expensive and can take a lot of time which can cause watchdog timer to tigger. This can be optimize by using mbedtls APIs which uses hardware blocks for big num operations. To fix this, write new crypto_mbedtls-rsa.c which has APIs similar to crypto_internal-rsa.c but uses mbedtls APIs.
130 lines
3.5 KiB
CMake
130 lines
3.5 KiB
CMake
set(srcs "port/os_xtensa.c"
|
|
"src/ap/ap_config.c"
|
|
"src/ap/ieee802_1x.c"
|
|
"src/ap/wpa_auth.c"
|
|
"src/ap/wpa_auth_ie.c"
|
|
"src/common/sae.c"
|
|
"src/common/wpa_common.c"
|
|
"src/crypto/aes-cbc.c"
|
|
"src/crypto/aes-ccm.c"
|
|
"src/crypto/aes-internal-dec.c"
|
|
"src/crypto/aes-internal-enc.c"
|
|
"src/crypto/aes-internal.c"
|
|
"src/crypto/aes-omac1.c"
|
|
"src/crypto/aes-unwrap.c"
|
|
"src/crypto/aes-wrap.c"
|
|
"src/crypto/sha256-tlsprf.c"
|
|
"src/crypto/bignum.c"
|
|
"src/crypto/ccmp.c"
|
|
"src/crypto/crypto_mbedtls.c"
|
|
"src/crypto/crypto_ops.c"
|
|
"src/crypto/crypto_internal-cipher.c"
|
|
"src/crypto/crypto_internal-modexp.c"
|
|
"src/crypto/crypto_internal-rsa.c"
|
|
"src/crypto/crypto_mbedtls-rsa.c"
|
|
"src/crypto/crypto_internal.c"
|
|
"src/crypto/des-internal.c"
|
|
"src/crypto/dh_group5.c"
|
|
"src/crypto/dh_groups.c"
|
|
"src/crypto/md4-internal.c"
|
|
"src/crypto/md5-internal.c"
|
|
"src/crypto/md5.c"
|
|
"src/crypto/ms_funcs.c"
|
|
"src/crypto/rc4.c"
|
|
"src/crypto/sha1-internal.c"
|
|
"src/crypto/sha1-pbkdf2.c"
|
|
"src/crypto/sha1.c"
|
|
"src/crypto/sha256-internal.c"
|
|
"src/crypto/sha256.c"
|
|
"src/crypto/sha1-tlsprf.c"
|
|
"src/crypto/sha256-tlsprf.c"
|
|
"src/crypto/sha384-tlsprf.c"
|
|
"src/crypto/sha256-prf.c"
|
|
"src/eap_peer/chap.c"
|
|
"src/eap_peer/eap.c"
|
|
"src/eap_peer/eap_common.c"
|
|
"src/eap_peer/eap_mschapv2.c"
|
|
"src/eap_peer/eap_peap.c"
|
|
"src/eap_peer/eap_peap_common.c"
|
|
"src/eap_peer/eap_tls.c"
|
|
"src/eap_peer/eap_tls_common.c"
|
|
"src/eap_peer/eap_ttls.c"
|
|
"src/eap_peer/mschapv2.c"
|
|
"src/esp_supplicant/esp_hostap.c"
|
|
"src/esp_supplicant/esp_wpa2.c"
|
|
"src/esp_supplicant/esp_wpa_main.c"
|
|
"src/esp_supplicant/esp_wpas_glue.c"
|
|
"src/esp_supplicant/esp_wps.c"
|
|
"src/esp_supplicant/esp_wpa3.c"
|
|
"src/rsn_supp/pmksa_cache.c"
|
|
"src/rsn_supp/wpa.c"
|
|
"src/rsn_supp/wpa_ie.c"
|
|
"src/utils/base64.c"
|
|
"src/utils/common.c"
|
|
"src/utils/ext_password.c"
|
|
"src/utils/uuid.c"
|
|
"src/utils/wpabuf.c"
|
|
"src/utils/wpa_debug.c"
|
|
"src/wps/wps.c"
|
|
"src/wps/wps_attr_build.c"
|
|
"src/wps/wps_attr_parse.c"
|
|
"src/wps/wps_attr_process.c"
|
|
"src/wps/wps_common.c"
|
|
"src/wps/wps_dev_attr.c"
|
|
"src/wps/wps_enrollee.c"
|
|
"src/wps/wps_registrar.c"
|
|
"src/wps/wps_validate.c")
|
|
|
|
if(CONFIG_WPA_MBEDTLS_CRYPTO)
|
|
set(tls_src "src/crypto/tls_mbedtls.c")
|
|
else()
|
|
set(tls_src
|
|
"src/tls/asn1.c"
|
|
"src/tls/bignum.c"
|
|
"src/tls/pkcs1.c"
|
|
"src/tls/pkcs5.c"
|
|
"src/tls/pkcs8.c"
|
|
"src/tls/rsa.c"
|
|
"src/tls/tls_internal.c"
|
|
"src/tls/tlsv1_client.c"
|
|
"src/tls/tlsv1_client_read.c"
|
|
"src/tls/tlsv1_client_write.c"
|
|
"src/tls/tlsv1_common.c"
|
|
"src/tls/tlsv1_cred.c"
|
|
"src/tls/tlsv1_record.c"
|
|
"src/tls/tlsv1_server.c"
|
|
"src/tls/tlsv1_server_read.c"
|
|
"src/tls/tlsv1_server_write.c"
|
|
"src/tls/x509v3.c"
|
|
)
|
|
endif()
|
|
|
|
idf_component_register(SRCS "${srcs}" "${tls_src}"
|
|
INCLUDE_DIRS include port/include include/esp_supplicant
|
|
PRIV_INCLUDE_DIRS src
|
|
PRIV_REQUIRES mbedtls)
|
|
|
|
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-strict-aliasing)
|
|
target_compile_definitions(${COMPONENT_LIB} PRIVATE
|
|
__ets__
|
|
ESP_SUPPLICANT
|
|
IEEE8021X_EAPOL
|
|
EAP_PEER_METHOD
|
|
EAP_MSCHAPv2
|
|
EAP_TTLS
|
|
EAP_TLS
|
|
EAP_PEAP
|
|
USE_WPA2_TASK
|
|
CONFIG_WPS2
|
|
CONFIG_WPS_PIN
|
|
USE_WPS_TASK
|
|
ESPRESSIF_USE
|
|
ESP32_WORKAROUND
|
|
CONFIG_ECC
|
|
CONFIG_SHA256
|
|
CONFIG_IEEE80211W
|
|
CONFIG_WPA3_SAE
|
|
)
|
|
|
|
set_property(TARGET ${COMPONENT_LIB} APPEND PROPERTY LINK_INTERFACE_MULTIPLICITY 3)
|