Skip to content

Commit 0451341

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]>
1 parent 3bedb2d commit 0451341

File tree

2 files changed

+59
-2
lines changed

2 files changed

+59
-2
lines changed

modules/hostap/CMakeLists.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,25 @@ zephyr_library_sources_ifdef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE
506506
)
507507
endif()
508508

509+
if(DEFINED CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA)
510+
zephyr_include_directories(
511+
${HOSTAP_BASE}/port/mbedtls
512+
)
513+
514+
zephyr_library_sources(
515+
${HOSTAP_SRC_BASE}/crypto/aes-wrap.c
516+
${HOSTAP_SRC_BASE}/crypto/aes-unwrap.c
517+
${HOSTAP_SRC_BASE}/crypto/aes-internal-dec.c
518+
${HOSTAP_SRC_BASE}/crypto/aes-internal.c
519+
${HOSTAP_SRC_BASE}/crypto/aes-internal-enc.c
520+
${HOSTAP_SRC_BASE}/crypto/rc4.c
521+
${HOSTAP_SRC_BASE}/crypto/crypto_mbedtls_alt.c
522+
${HOSTAP_SRC_BASE}/crypto/tls_mbedtls_alt.c
523+
${HOSTAP_SRC_BASE}/crypto/sha256-kdf.c
524+
${HOSTAP_BASE}/port/mbedtls/supp_psa_api.c
525+
)
526+
endif()
527+
509528
zephyr_library_link_libraries_ifndef(CONFIG_WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
510529
mbedTLS)
511530

modules/hostap/Kconfig

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,24 +211,62 @@ config WIFI_NM_WPA_SUPPLICANT_CRYPTO_LEGACY_NCS_PSA
211211
select MBEDTLS_PKCS5_C
212212
select MBEDTLS_ECP_DP_SECP256R1_ENABLED
213213

214+
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
215+
bool "PSA Crypto support for WiFi WPA2 using nRF security"
216+
select MBEDTLS
217+
select NRF_SECURITY
218+
select PSA_WANT_GENERATE_RANDOM
219+
select MBEDTLS_TLS_LIBRARY
220+
select MBEDTLS_PK_C
221+
select MBEDTLS_PK_WRITE_C
222+
select MBEDTLS_X509_LIBRARY
223+
select MBEDTLS_X509_CRT_PARSE_C
224+
select MBEDTLS_SSL_TLS_C
225+
select MBEDTLS_ENABLE_HEAP
226+
select MBEDTLS_PSA_CRYPTO_C
227+
select MBEDTLS_USE_PSA_CRYPTO
228+
select PSA_WANT_ALG_HMAC
229+
select PSA_WANT_ALG_CMAC
230+
select PSA_WANT_ALG_ECB_NO_PADDING
231+
select PSA_WANT_ALG_CBC_PKCS7
232+
select PSA_WANT_ALG_CBC_MAC
233+
select PSA_ACCEL_CBC_MAC_AES_128
234+
select PSA_ACCEL_CBC_MAC_AES_192
235+
select PSA_ACCEL_CBC_MAC_AES_256
236+
select PSA_WANT_ALG_CCM
237+
select PSA_WANT_ALG_GCM
238+
select PSA_WANT_ALG_CTR
239+
select PSA_WANT_ALG_MD5
240+
select PSA_ACCEL_MD5
241+
select PSA_WANT_ALG_SHA_1
242+
select PSA_WANT_ALG_SHA_256
243+
select PSA_WANT_ALG_SHA_224
244+
select PSA_WANT_ALG_SHA_384
245+
select PSA_WANT_ALG_SHA_512
246+
select PSA_WANT_ALG_PBKDF2_HMAC
247+
select PSA_WANT_ALG_PBKDF2_AES_CMAC_PRF_128
248+
select PSA_WANT_KEY_TYPE_AES
249+
select PSA_WANT_KEY_TYPE_ECC_PUBLIC_KEY
250+
214251
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
215252
bool "No Crypto support for WiFi"
216253

217254
endchoice
218255

219256
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_MBEDTLS_PSA
220257
bool "Crypto Platform Secure Architecture support for WiFi"
258+
default y if WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
221259
help
222260
Support Mbedtls 3.x to use PSA apis instead of legacy apis.
223261

224262
config WIFI_NM_WPA_SUPPLICANT_CRYPTO_ENTERPRISE
225263
bool "Enterprise Crypto support for WiFi"
226264
select MBEDTLS_PEM_CERTIFICATE_FORMAT
227-
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
265+
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE && !WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
228266

229267
config WIFI_NM_WPA_SUPPLICANT_WPA3
230268
bool "WPA3 support"
231-
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE
269+
depends on !WIFI_NM_WPA_SUPPLICANT_CRYPTO_NONE && !WIFI_NM_WPA_SUPPLICANT_CRYPTO_ALT_NCS_PSA
232270
default y
233271

234272
config WIFI_NM_WPA_SUPPLICANT_AP

0 commit comments

Comments
 (0)