Skip to content

Commit ffa08e1

Browse files
krish2718rlubos
authored andcommitted
[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]> (cherry picked from commit 01ba392)
1 parent 2a064cf commit ffa08e1

File tree

2 files changed

+58
-2
lines changed

2 files changed

+58
-2
lines changed

modules/hostap/CMakeLists.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,25 @@ zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_TEST
655655
)
656656
endif()
657657

658+
if(DEFINED CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA)
659+
zephyr_include_directories(
660+
${HOSTAP_BASE}/port/mbedtls
661+
)
662+
663+
zephyr_library_sources(
664+
${HOSTAP_SRC_BASE}/crypto/aes-wrap.c
665+
${HOSTAP_SRC_BASE}/crypto/aes-unwrap.c
666+
${HOSTAP_SRC_BASE}/crypto/aes-internal-dec.c
667+
${HOSTAP_SRC_BASE}/crypto/aes-internal.c
668+
${HOSTAP_SRC_BASE}/crypto/aes-internal-enc.c
669+
${HOSTAP_SRC_BASE}/crypto/rc4.c
670+
${HOSTAP_SRC_BASE}/crypto/crypto_mbedtls_alt.c
671+
${HOSTAP_SRC_BASE}/crypto/tls_mbedtls_alt.c
672+
${HOSTAP_SRC_BASE}/crypto/sha256-kdf.c
673+
${HOSTAP_BASE}/port/mbedtls/supp_psa_api.c
674+
)
675+
endif()
676+
658677
zephyr_library_link_libraries_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
659678
mbedTLS)
660679

modules/hostap/Kconfig

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,13 +231,50 @@ config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_LEGACY_NCS
231231
select MBEDTLS_CIPHER_PADDING_PKCS7
232232
select MBEDTLS_PKCS5_C
233233

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

237273
endchoice
238274

239275
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA
240276
bool "Crypto Platform Secure Architecture support for WiFi"
277+
default y if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
241278
help
242279
Support Mbedtls 3.x to use PSA apis instead of legacy apis.
243280

@@ -254,7 +291,7 @@ config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE
254291
select MBEDTLS_X509_CRL_PARSE_C
255292
select MBEDTLS_TLS_VERSION_1_2
256293
select MBEDTLS_RSA_C
257-
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
294+
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE && !WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
258295

259296
config EAP_TLS
260297
bool "EAP-TLS support"
@@ -311,7 +348,7 @@ config EAP_ALL
311348

312349
config WIFI_NM_WPA_SUPPLICANT_WPA3
313350
bool "WPA3 support"
314-
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
351+
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE && !WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
315352
default y
316353

317354
config WIFI_NM_WPA_SUPPLICANT_AP

0 commit comments

Comments
 (0)