Skip to content

Commit 764fb58

Browse files
committed
[nrf noup] modules: hostap: Add NCS PSA for hostap crypto ALT
This brings in PSA Kconfig and CMakelist.txt changes to NCS. Currently, it contains known PSA configurations and source files that are needed or will be needed in the future. WPA3 and Enterprise is currently disabled with this setting. Signed-off-by: Vivekananda Uppunda <[email protected]> Signed-off-by: Chaitanya Tata <[email protected]>
1 parent 707253c commit 764fb58

File tree

2 files changed

+77
-2
lines changed

2 files changed

+77
-2
lines changed

modules/hostap/CMakeLists.txt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,44 @@ zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_TEST
603603
)
604604
endif()
605605

606+
if(DEFINED CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA)
607+
zephyr_include_directories(
608+
${HOSTAP_BASE}/port/mbedtls
609+
)
610+
611+
zephyr_library_sources(
612+
${HOSTAP_SRC_BASE}/crypto/aes-wrap.c
613+
${HOSTAP_SRC_BASE}/crypto/aes-unwrap.c
614+
${HOSTAP_SRC_BASE}/crypto/aes-internal-dec.c
615+
${HOSTAP_SRC_BASE}/crypto/aes-internal.c
616+
${HOSTAP_SRC_BASE}/crypto/aes-internal-enc.c
617+
${HOSTAP_SRC_BASE}/crypto/rc4.c
618+
${HOSTAP_SRC_BASE}/crypto/crypto_mbedtls_alt.c
619+
${HOSTAP_SRC_BASE}/crypto/tls_mbedtls_alt.c
620+
${HOSTAP_SRC_BASE}/crypto/sha256-kdf.c
621+
${HOSTAP_BASE}/port/mbedtls/supp_psa_api.c
622+
)
623+
endif()
624+
625+
if(DEFINED CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA)
626+
zephyr_include_directories(
627+
${HOSTAP_BASE}/port/mbedtls
628+
)
629+
630+
zephyr_library_sources(
631+
${HOSTAP_SRC_BASE}/crypto/aes-wrap.c
632+
${HOSTAP_SRC_BASE}/crypto/aes-unwrap.c
633+
${HOSTAP_SRC_BASE}/crypto/aes-internal-dec.c
634+
${HOSTAP_SRC_BASE}/crypto/aes-internal.c
635+
${HOSTAP_SRC_BASE}/crypto/aes-internal-enc.c
636+
${HOSTAP_SRC_BASE}/crypto/rc4.c
637+
${HOSTAP_SRC_BASE}/crypto/crypto_mbedtls_alt.c
638+
${HOSTAP_SRC_BASE}/crypto/tls_mbedtls_alt.c
639+
${HOSTAP_SRC_BASE}/crypto/sha256-kdf.c
640+
${HOSTAP_BASE}/port/mbedtls/supp_psa_api.c
641+
)
642+
endif()
643+
606644
zephyr_library_link_libraries_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
607645
mbedTLS)
608646

modules/hostap/Kconfig

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,20 +227,57 @@ config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_LEGACY_NCS
227227
select MBEDTLS_PK_WRITE_C
228228
select MBEDTLS_KEY_EXCHANGE_ALL_ENABLED
229229

230+
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
231+
bool "PSA Crypto support for WiFi WPA2 using nRF security"
232+
select MBEDTLS
233+
select NRF_SECURITY
234+
select PSA_WANT_GENERATE_RANDOM
235+
select MBEDTLS_TLS_LIBRARY
236+
select MBEDTLS_PK_C
237+
select MBEDTLS_PK_WRITE_C
238+
select MBEDTLS_X509_LIBRARY
239+
select MBEDTLS_X509_CRT_PARSE_C
240+
select MBEDTLS_SSL_TLS_C
241+
select MBEDTLS_ENABLE_HEAP
242+
select MBEDTLS_PSA_CRYPTO_C
243+
select MBEDTLS_USE_PSA_CRYPTO
244+
select PSA_WANT_ALG_HMAC
245+
select PSA_WANT_ALG_CMAC
246+
select PSA_WANT_ALG_ECB_NO_PADDING
247+
select PSA_WANT_ALG_CBC_PKCS7
248+
select PSA_ACCEL_CBC_MAC_AES_128
249+
select PSA_ACCEL_CBC_MAC_AES_192
250+
select PSA_ACCEL_CBC_MAC_AES_256
251+
select PSA_WANT_ALG_CCM
252+
select PSA_WANT_ALG_GCM
253+
select PSA_WANT_ALG_CTR
254+
select PSA_WANT_ALG_MD5
255+
select PSA_ACCEL_MD5
256+
select PSA_WANT_ALG_SHA_1
257+
select PSA_WANT_ALG_SHA_256
258+
select PSA_WANT_ALG_SHA_224
259+
select PSA_WANT_ALG_SHA_384
260+
select PSA_WANT_ALG_SHA_512
261+
select PSA_WANT_ALG_PBKDF2_HMAC
262+
select PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128
263+
select PSA_WANT_KEY_TYPE_AES
264+
select PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY
265+
230266
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
231267
bool "No Crypto support for WiFi"
232268

233269
endchoice
234270

235271
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA
236272
bool "Crypto Platform Secure Architecture support for WiFi"
273+
default y if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
237274
help
238275
Support Mbedtls 3.x to use PSA apis instead of legacy apis.
239276

240277
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE
241278
bool "Enterprise Crypto support for WiFi"
242279
select MBEDTLS_PEM_CERTIFICATE_FORMAT
243-
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
280+
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE && !WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
244281

245282
config EAP_TLS
246283
bool "EAP-TLS support"
@@ -294,7 +331,7 @@ config EAP_ALL
294331

295332
config WIFI_NM_WPA_SUPPLICANT_WPA3
296333
bool "WPA3 support"
297-
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
334+
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE && !WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
298335
default y
299336

300337
config WIFI_NM_WPA_SUPPLICANT_AP

0 commit comments

Comments
 (0)