Skip to content

Commit 10e351a

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 92a3c33 commit 10e351a

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
@@ -650,6 +650,25 @@ zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_TEST
650650
)
651651
endif()
652652

653+
if(DEFINED CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA)
654+
zephyr_include_directories(
655+
${HOSTAP_BASE}/port/mbedtls
656+
)
657+
658+
zephyr_library_sources(
659+
${HOSTAP_SRC_BASE}/crypto/aes-wrap.c
660+
${HOSTAP_SRC_BASE}/crypto/aes-unwrap.c
661+
${HOSTAP_SRC_BASE}/crypto/aes-internal-dec.c
662+
${HOSTAP_SRC_BASE}/crypto/aes-internal.c
663+
${HOSTAP_SRC_BASE}/crypto/aes-internal-enc.c
664+
${HOSTAP_SRC_BASE}/crypto/rc4.c
665+
${HOSTAP_SRC_BASE}/crypto/crypto_mbedtls_alt.c
666+
${HOSTAP_SRC_BASE}/crypto/tls_mbedtls_alt.c
667+
${HOSTAP_SRC_BASE}/crypto/sha256-kdf.c
668+
${HOSTAP_BASE}/port/mbedtls/supp_psa_api.c
669+
)
670+
endif()
671+
653672
zephyr_library_link_libraries_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
654673
mbedTLS)
655674

modules/hostap/Kconfig

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,19 +243,56 @@ config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_LEGACY_NCS
243243
select MBEDTLS_TLS_VERSION_1_2
244244
select MBEDTLS_ENTROPY_C
245245

246+
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
247+
bool "PSA Crypto support for WiFi WPA2 using nRF security"
248+
select MBEDTLS
249+
select NRF_SECURITY
250+
select PSA_WANT_GENERATE_RANDOM
251+
select MBEDTLS_TLS_LIBRARY
252+
select MBEDTLS_PK_C
253+
select MBEDTLS_PK_WRITE_C
254+
select MBEDTLS_X509_LIBRARY
255+
select MBEDTLS_X509_CRT_PARSE_C
256+
select MBEDTLS_SSL_TLS_C
257+
select MBEDTLS_ENABLE_HEAP
258+
select MBEDTLS_PSA_CRYPTO_C
259+
select MBEDTLS_USE_PSA_CRYPTO
260+
select PSA_WANT_ALG_HMAC
261+
select PSA_WANT_ALG_CMAC
262+
select PSA_WANT_ALG_ECB_NO_PADDING
263+
select PSA_WANT_ALG_CBC_PKCS7
264+
select PSA_ACCEL_CBC_MAC_AES_128
265+
select PSA_ACCEL_CBC_MAC_AES_192
266+
select PSA_ACCEL_CBC_MAC_AES_256
267+
select PSA_WANT_ALG_CCM
268+
select PSA_WANT_ALG_GCM
269+
select PSA_WANT_ALG_CTR
270+
select PSA_WANT_ALG_MD5
271+
select PSA_ACCEL_MD5
272+
select PSA_WANT_ALG_SHA_1
273+
select PSA_WANT_ALG_SHA_256
274+
select PSA_WANT_ALG_SHA_224
275+
select PSA_WANT_ALG_SHA_384
276+
select PSA_WANT_ALG_SHA_512
277+
select PSA_WANT_ALG_PBKDF2_HMAC
278+
select PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128
279+
select PSA_WANT_KEY_TYPE_AES
280+
select PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY
281+
246282
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
247283
bool "No Crypto support for WiFi"
248284

249285
endchoice
250286

251287
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA
252288
bool "Crypto Platform Secure Architecture support for WiFi"
289+
default y if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
253290
help
254291
Support Mbedtls 3.x to use PSA apis instead of legacy apis.
255292

256293
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE
257294
bool "Enterprise Crypto support for WiFi"
258-
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
295+
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE && !WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
259296

260297
config EAP_TLS
261298
bool "EAP-TLS support"
@@ -312,7 +349,7 @@ config EAP_ALL
312349

313350
config WIFI_NM_WPA_SUPPLICANT_WPA3
314351
bool "WPA3 support"
315-
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
352+
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE && !WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
316353
default y
317354

318355
config WIFI_NM_WPA_SUPPLICANT_AP

0 commit comments

Comments
 (0)