Skip to content

Commit 8f43544

Browse files
tomi-fontrlubos
authored andcommitted
[nrf fromtree] secure_storage: add a global registry header file for PSA key IDs
We need to make sure that within Zephyr different users of the PSA APIs don't interfere with each other because of using the same numerical IDs for persistent assets. This takes care of the PSA key IDs when using persistent keys through the PSA Crypto API. See the comments in `<zephyr/psa/key_ids.h>` for more information. This removes the recently-introduced Kconfig options that allowed changing the base IDs subsystems were using for their persistent keys. Signed-off-by: Tomi Fontanilles <tomi.fontanilles@nordicsemi.no> (cherry picked from commit 0c368e8)
1 parent 56b5600 commit 8f43544

File tree

13 files changed

+103
-91
lines changed

13 files changed

+103
-91
lines changed

MAINTAINERS.yml

+1
Original file line numberDiff line numberDiff line change
@@ -4251,6 +4251,7 @@ Secure storage:
42514251
- tomi-font
42524252
files:
42534253
- subsys/secure_storage/
4254+
- include/zephyr/psa/
42544255
- samples/psa/
42554256
- doc/services/secure_storage.rst
42564257
- tests/subsys/secure_storage/

include/zephyr/psa/key_ids.h

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
/* Copyright (c) 2025 Nordic Semiconductor
2+
* SPDX-License-Identifier: Apache-2.0
3+
*/
4+
#ifndef ZEPHYR_PSA_KEY_IDS_H_
5+
#define ZEPHYR_PSA_KEY_IDS_H_
6+
7+
/**
8+
* @file zephyr/psa/key_ids.h
9+
*
10+
* @brief This file defines the key ID ranges of the existing users of the PSA Crypto API.
11+
*
12+
* In addition to the application, different subsystems store and use persistent keys through the
13+
* PSA Crypto API. Because they are not aware of each other, collisions are avoided by having them
14+
* use different ID ranges.
15+
* This file acts as the registry of all the allocated PSA key ID ranges within Zephyr.
16+
*
17+
* The end-user application also has a dedicated range, `ZEPHYR_PSA_APPLICATION_KEY_ID_RANGE_BEGIN`.
18+
*
19+
* Some of the IDs below are based on previously existing and used values, while others
20+
* are chosen to be somewhere in the PSA user key ID range to try to avoid collisions
21+
* (avoiding, for example, the very beginning of the range).
22+
*/
23+
24+
#include <stdint.h>
25+
typedef uint32_t psa_key_id_t;
26+
27+
/** PSA key ID range to be used by OpenThread. The base ID is equal to the default value upstream:
28+
* https://github.com/openthread/openthread/blob/thread-reference-20230706/src/core/config/platform.h#L138
29+
*/
30+
#define ZEPHYR_PSA_OPENTHREAD_KEY_ID_RANGE_BEGIN (psa_key_id_t)0x20000
31+
#define ZEPHYR_PSA_OPENTHREAD_KEY_ID_RANGE_SIZE 0x10000 /* 64 Ki */
32+
33+
/** PSA key ID range to be used by Matter. The base ID is equal to the default value upstream:
34+
* https://github.com/project-chip/connectedhomeip/blob/v1.4.0.0/src/crypto/CHIPCryptoPALPSA.h#L55
35+
*/
36+
#define ZEPHYR_PSA_MATTER_KEY_ID_RANGE_BEGIN (psa_key_id_t)0x30000
37+
#define ZEPHYR_PSA_MATTER_KEY_ID_RANGE_SIZE 0x10000 /* 64 Ki */
38+
39+
/** PSA key ID range to be used by Bluetooth Mesh. */
40+
#define ZEPHYR_PSA_BT_MESH_KEY_ID_RANGE_BEGIN (psa_key_id_t)0x20000000
41+
#define ZEPHYR_PSA_BT_MESH_KEY_ID_RANGE_SIZE 0xC000 /* 48 Ki */
42+
43+
/** PSA key ID range to be used by Wi-Fi credentials management. */
44+
#define ZEPHYR_PSA_WIFI_CREDENTIALS_KEY_ID_RANGE_BEGIN (psa_key_id_t)0x20010000
45+
#define ZEPHYR_PSA_WIFI_CREDENTIALS_KEY_ID_RANGE_SIZE 0x100 /* 256 */
46+
47+
/** PSA key ID range to be used by the end-user application. */
48+
#define ZEPHYR_PSA_APPLICATION_KEY_ID_RANGE_BEGIN (psa_key_id_t)0x30000000
49+
#define ZEPHYR_PSA_APPLICATION_KEY_ID_RANGE_SIZE 0x100000 /* 1 Mi */
50+
51+
#endif /* ZEPHYR_PSA_KEY_IDS_H_ */

modules/openthread/Kconfig.thread

-8
Original file line numberDiff line numberDiff line change
@@ -250,11 +250,3 @@ config OPENTHREAD_MLE_CHILD_TIMEOUT
250250
default 240
251251
help
252252
The value of MLE child timeout in seconds.
253-
254-
config OPENTHREAD_PSA_ITS_NVM_OFFSET
255-
hex "NVM offset while using key refs"
256-
default 0x20000
257-
help
258-
The offset value in the PSA ITS non-volatile space is dedicated to OpenThread
259-
key reference IDs. This offset must not overwrite any other ranges already in
260-
use within the PSA ITS non-volatile space.

modules/openthread/platform/openthread-core-zephyr-config.h

+2-3
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#define OPENTHREAD_CORE_ZEPHYR_CONFIG_H_
1515

1616
#include <zephyr/devicetree.h>
17+
#include <zephyr/psa/key_ids.h>
1718
#include <zephyr/toolchain.h>
1819

1920
/**
@@ -516,8 +517,6 @@
516517
* NVM offset while using key refs.
517518
*
518519
*/
519-
#ifdef CONFIG_OPENTHREAD_PSA_ITS_NVM_OFFSET
520-
#define OPENTHREAD_CONFIG_PSA_ITS_NVM_OFFSET CONFIG_OPENTHREAD_PSA_ITS_NVM_OFFSET
521-
#endif
520+
#define OPENTHREAD_CONFIG_PSA_ITS_NVM_OFFSET ZEPHYR_PSA_OPENTHREAD_KEY_ID_RANGE_BEGIN
522521

523522
#endif /* OPENTHREAD_CORE_ZEPHYR_CONFIG_H_ */

samples/psa/persistent_key/src/main.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
*/
44
#include <psa/crypto.h>
55
#include <zephyr/logging/log.h>
6+
#include <zephyr/psa/key_ids.h>
67

78
LOG_MODULE_REGISTER(persistent_key);
89

9-
#define SAMPLE_KEY_ID PSA_KEY_ID_USER_MIN
10+
#define SAMPLE_KEY_ID ZEPHYR_PSA_APPLICATION_KEY_ID_RANGE_BEGIN
1011
#define SAMPLE_KEY_TYPE PSA_KEY_TYPE_AES
1112
#define SAMPLE_ALG PSA_ALG_CTR
1213
#define SAMPLE_KEY_BITS 256

subsys/bluetooth/mesh/Kconfig

-16
Original file line numberDiff line numberDiff line change
@@ -1548,22 +1548,6 @@ config BT_MESH_USES_TFM_PSA
15481548

15491549
endchoice
15501550

1551-
if BT_MESH_USES_MBEDTLS_PSA || BT_MESH_USES_TFM_PSA
1552-
1553-
config BT_MESH_PSA_KEY_ID_USER_MIN_OFFSET
1554-
int "Offset of Bluetooth Mesh key id range regarding PSA_KEY_ID_USER_MIN"
1555-
default 0
1556-
help
1557-
The PSA specification mandates to set key identifiers for keys
1558-
with persistent lifetime. The users of the PSA API is responsible
1559-
(Bluetooth Mesh is user of PSA API) to provide correct and unique identifiers.
1560-
The Bluetooth Mesh identifier range should be between PSA_KEY_ID_USER_MIN and
1561-
PSA_KEY_ID_USER_MAX. Bluetooth Mesh requires two ids for each subnetwork, two ids
1562-
for each application key, and two ids for the device key and device key candidate.
1563-
It should consider the Mesh Configuration Database instances if database enabled.
1564-
1565-
endif # BT_MESH_USES_MBEDTLS_PSA || BT_MESH_USES_TFM_PSA
1566-
15671551
menu "Beacons"
15681552

15691553
config BT_MESH_BEACON_ENABLED

subsys/bluetooth/mesh/crypto_psa.c

+16-15
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include <errno.h>
88

99
#include <zephyr/bluetooth/mesh.h>
10+
#include <zephyr/psa/key_ids.h>
1011
#include <zephyr/sys/check.h>
1112

1213
#define LOG_LEVEL CONFIG_BT_MESH_CRYPTO_LOG_LEVEL
@@ -26,13 +27,13 @@ LOG_MODULE_REGISTER(bt_mesh_crypto_psa);
2627
#else
2728
#define BT_MESH_CDB_KEY_ID_RANGE_SIZE 0
2829
#endif
29-
#define BT_MESH_KEY_ID_RANGE_SIZE (2 * CONFIG_BT_MESH_SUBNET_COUNT + \
30-
2 * CONFIG_BT_MESH_APP_KEY_COUNT + 2 + BT_MESH_CDB_KEY_ID_RANGE_SIZE)
31-
#define BT_MESH_PSA_KEY_ID_USER_MIN (PSA_KEY_ID_USER_MIN + \
32-
CONFIG_BT_MESH_PSA_KEY_ID_USER_MIN_OFFSET)
3330

34-
BUILD_ASSERT(BT_MESH_PSA_KEY_ID_USER_MIN + BT_MESH_KEY_ID_RANGE_SIZE <= PSA_KEY_ID_USER_MAX,
35-
"Bluetooth Mesh PSA key id range overlaps maximum allowed boundary.");
31+
#define BT_MESH_PSA_KEY_ID_MIN ZEPHYR_PSA_BT_MESH_KEY_ID_RANGE_BEGIN
32+
33+
#define BT_MESH_PSA_KEY_ID_RANGE_SIZE (2 * CONFIG_BT_MESH_SUBNET_COUNT + \
34+
2 * CONFIG_BT_MESH_APP_KEY_COUNT + 2 + BT_MESH_CDB_KEY_ID_RANGE_SIZE)
35+
BUILD_ASSERT(BT_MESH_PSA_KEY_ID_RANGE_SIZE <= ZEPHYR_PSA_BT_MESH_KEY_ID_RANGE_SIZE,
36+
"PSA key ID range exceeds officially allocated range.");
3637

3738
BUILD_ASSERT(PSA_MAC_LENGTH(PSA_KEY_TYPE_AES, 128, PSA_ALG_CMAC) == 16,
3839
"MAC length should be 16 bytes for 128-bits key for CMAC-AES");
@@ -46,7 +47,7 @@ static struct {
4647
uint8_t public_key_be[PUB_KEY_SIZE + 1];
4748
} dh_pair;
4849

49-
static ATOMIC_DEFINE(pst_keys, BT_MESH_KEY_ID_RANGE_SIZE);
50+
static ATOMIC_DEFINE(pst_keys, BT_MESH_PSA_KEY_ID_RANGE_SIZE);
5051

5152
int bt_mesh_crypto_init(void)
5253
{
@@ -354,10 +355,10 @@ int bt_mesh_dhkey_gen(const uint8_t *pub_key, const uint8_t *priv_key, uint8_t *
354355

355356
__weak psa_key_id_t bt_mesh_user_keyid_alloc(void)
356357
{
357-
for (int i = 0; i < BT_MESH_KEY_ID_RANGE_SIZE; i++) {
358+
for (int i = 0; i < BT_MESH_PSA_KEY_ID_RANGE_SIZE; i++) {
358359
if (!atomic_test_bit(pst_keys, i)) {
359360
atomic_set_bit(pst_keys, i);
360-
return BT_MESH_PSA_KEY_ID_USER_MIN + i;
361+
return BT_MESH_PSA_KEY_ID_MIN + i;
361362
}
362363
}
363364

@@ -366,9 +367,9 @@ __weak psa_key_id_t bt_mesh_user_keyid_alloc(void)
366367

367368
__weak int bt_mesh_user_keyid_free(psa_key_id_t key_id)
368369
{
369-
if (IN_RANGE(key_id, BT_MESH_PSA_KEY_ID_USER_MIN,
370-
BT_MESH_PSA_KEY_ID_USER_MIN + BT_MESH_KEY_ID_RANGE_SIZE - 1)) {
371-
atomic_clear_bit(pst_keys, key_id - BT_MESH_PSA_KEY_ID_USER_MIN);
370+
if (IN_RANGE(key_id, BT_MESH_PSA_KEY_ID_MIN,
371+
BT_MESH_PSA_KEY_ID_MIN + BT_MESH_PSA_KEY_ID_RANGE_SIZE - 1)) {
372+
atomic_clear_bit(pst_keys, key_id - BT_MESH_PSA_KEY_ID_MIN);
372373
return 0;
373374
}
374375

@@ -377,9 +378,9 @@ __weak int bt_mesh_user_keyid_free(psa_key_id_t key_id)
377378

378379
__weak void bt_mesh_user_keyid_assign(psa_key_id_t key_id)
379380
{
380-
if (IN_RANGE(key_id, BT_MESH_PSA_KEY_ID_USER_MIN,
381-
BT_MESH_PSA_KEY_ID_USER_MIN + BT_MESH_KEY_ID_RANGE_SIZE - 1)) {
382-
atomic_set_bit(pst_keys, key_id - BT_MESH_PSA_KEY_ID_USER_MIN);
381+
if (IN_RANGE(key_id, BT_MESH_PSA_KEY_ID_MIN,
382+
BT_MESH_PSA_KEY_ID_MIN + BT_MESH_PSA_KEY_ID_RANGE_SIZE - 1)) {
383+
atomic_set_bit(pst_keys, key_id - BT_MESH_PSA_KEY_ID_MIN);
383384
}
384385
}
385386

subsys/net/lib/wifi_credentials/Kconfig

-12
Original file line numberDiff line numberDiff line change
@@ -75,18 +75,6 @@ endif # WIFI_CREDENTIALS_CONNECT_STORED
7575

7676
endif # WIFI_CREDENTIALS
7777

78-
if WIFI_CREDENTIALS_BACKEND_PSA
79-
80-
config WIFI_CREDENTIALS_BACKEND_PSA_OFFSET
81-
int "PSA_KEY_ID range offset"
82-
default 0
83-
help
84-
The PSA specification mandates to set key identifiers for keys
85-
with persistent lifetime. The users of the PSA API are responsible (WIFI credentials
86-
management is user of PSA API) to provide correct and unique identifiers.
87-
88-
endif # WIFI_CREDENTIALS_BACKEND_PSA
89-
9078
config WIFI_CREDENTIALS_STATIC
9179
bool "Static Wi-Fi network configuration"
9280

subsys/net/lib/wifi_credentials/wifi_credentials_backend_psa.c

+7-10
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,15 @@
66

77
#include <zephyr/kernel.h>
88
#include <zephyr/logging/log.h>
9+
#include <zephyr/psa/key_ids.h>
910
#include "psa/crypto.h"
1011

1112
#include "wifi_credentials_internal.h"
1213

1314
LOG_MODULE_REGISTER(wifi_credentials_backend, CONFIG_WIFI_CREDENTIALS_LOG_LEVEL);
1415

15-
#define WIFI_CREDENTIALS_BACKEND_PSA_KEY_ID_USER_MIN \
16-
(PSA_KEY_ID_USER_MIN + CONFIG_WIFI_CREDENTIALS_BACKEND_PSA_OFFSET)
17-
18-
BUILD_ASSERT((WIFI_CREDENTIALS_BACKEND_PSA_KEY_ID_USER_MIN + CONFIG_WIFI_CREDENTIALS_MAX_ENTRIES) <=
19-
PSA_KEY_ID_USER_MAX,
20-
"WIFI credentials management PSA key id range exceeds PSA_KEY_ID_USER_MAX.");
16+
BUILD_ASSERT(CONFIG_WIFI_CREDENTIALS_MAX_ENTRIES <= ZEPHYR_PSA_WIFI_CREDENTIALS_KEY_ID_RANGE_SIZE,
17+
"Wi-Fi credentials management PSA key ID range exceeds officially allocated range.");
2118

2219
int wifi_credentials_backend_init(void)
2320
{
@@ -26,7 +23,7 @@ int wifi_credentials_backend_init(void)
2623

2724
for (size_t i = 0; i < CONFIG_WIFI_CREDENTIALS_MAX_ENTRIES; ++i) {
2825
size_t length_read = 0;
29-
size_t key_id = i + WIFI_CREDENTIALS_BACKEND_PSA_KEY_ID_USER_MIN;
26+
size_t key_id = i + ZEPHYR_PSA_WIFI_CREDENTIALS_KEY_ID_RANGE_BEGIN;
3027

3128
ret = psa_export_key(key_id, buf, ARRAY_SIZE(buf), &length_read);
3229
if (ret == PSA_SUCCESS && length_read == ENTRY_MAX_LEN) {
@@ -46,7 +43,7 @@ int wifi_credentials_store_entry(size_t idx, const void *buf, size_t buf_len)
4643
psa_key_attributes_t key_attributes = {0};
4744
psa_key_id_t key_id;
4845

49-
psa_set_key_id(&key_attributes, idx + WIFI_CREDENTIALS_BACKEND_PSA_KEY_ID_USER_MIN);
46+
psa_set_key_id(&key_attributes, idx + ZEPHYR_PSA_WIFI_CREDENTIALS_KEY_ID_RANGE_BEGIN);
5047
psa_set_key_usage_flags(&key_attributes, PSA_KEY_USAGE_EXPORT);
5148
psa_set_key_lifetime(&key_attributes, PSA_KEY_LIFETIME_PERSISTENT);
5249
psa_set_key_algorithm(&key_attributes, PSA_ALG_NONE);
@@ -67,7 +64,7 @@ int wifi_credentials_store_entry(size_t idx, const void *buf, size_t buf_len)
6764

6865
int wifi_credentials_delete_entry(size_t idx)
6966
{
70-
psa_status_t ret = psa_destroy_key(idx + WIFI_CREDENTIALS_BACKEND_PSA_KEY_ID_USER_MIN);
67+
psa_status_t ret = psa_destroy_key(idx + ZEPHYR_PSA_WIFI_CREDENTIALS_KEY_ID_RANGE_BEGIN);
7168

7269
if (ret != PSA_SUCCESS) {
7370
LOG_ERR("psa_destroy_key failed, err: %d", ret);
@@ -80,7 +77,7 @@ int wifi_credentials_delete_entry(size_t idx)
8077
int wifi_credentials_load_entry(size_t idx, void *buf, size_t buf_len)
8178
{
8279
size_t length_read = 0;
83-
size_t key_id = idx + WIFI_CREDENTIALS_BACKEND_PSA_KEY_ID_USER_MIN;
80+
size_t key_id = idx + ZEPHYR_PSA_WIFI_CREDENTIALS_KEY_ID_RANGE_BEGIN;
8481
psa_status_t ret;
8582

8683
ret = psa_export_key(key_id, buf, buf_len, &length_read);

tests/bsim/bluetooth/mesh/src/distribute_keyid.c

+16-16
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#include <errno.h>
88
#include <zephyr/bluetooth/mesh.h>
9+
#include <zephyr/psa/key_ids.h>
910
#include "argparse.h"
1011
#include "mesh/crypto.h"
1112

@@ -22,24 +23,23 @@ LOG_MODULE_REGISTER(LOG_MODULE_NAME);
2223
#else
2324
#define BT_MESH_CDB_KEY_ID_RANGE_SIZE 0
2425
#endif
25-
#define BT_MESH_KEY_ID_RANGE_SIZE (2 * CONFIG_BT_MESH_SUBNET_COUNT + \
26-
2 * CONFIG_BT_MESH_APP_KEY_COUNT + 1 + BT_MESH_CDB_KEY_ID_RANGE_SIZE)
27-
#define BT_MESH_PSA_KEY_ID_USER_MIN (PSA_KEY_ID_USER_MIN + \
28-
CONFIG_BT_MESH_PSA_KEY_ID_USER_MIN_OFFSET)
29-
#define BT_MESH_TEST_PSA_KEY_ID_USER_MIN (BT_MESH_PSA_KEY_ID_USER_MIN + \
30-
BT_MESH_KEY_ID_RANGE_SIZE * get_device_nbr())
3126

32-
static ATOMIC_DEFINE(pst_keys, BT_MESH_KEY_ID_RANGE_SIZE);
27+
#define BT_MESH_PSA_KEY_ID_RANGE_SIZE (2 * CONFIG_BT_MESH_SUBNET_COUNT + \
28+
2 * CONFIG_BT_MESH_APP_KEY_COUNT + 2 + BT_MESH_CDB_KEY_ID_RANGE_SIZE)
29+
#define BT_MESH_TEST_PSA_KEY_ID_MIN (ZEPHYR_PSA_BT_MESH_KEY_ID_RANGE_BEGIN + \
30+
BT_MESH_PSA_KEY_ID_RANGE_SIZE * get_device_nbr())
31+
32+
static ATOMIC_DEFINE(pst_keys, BT_MESH_PSA_KEY_ID_RANGE_SIZE);
3333

3434
psa_key_id_t bt_mesh_user_keyid_alloc(void)
3535
{
36-
for (int i = 0; i < BT_MESH_KEY_ID_RANGE_SIZE; i++) {
36+
for (int i = 0; i < BT_MESH_PSA_KEY_ID_RANGE_SIZE; i++) {
3737
if (!atomic_test_bit(pst_keys, i)) {
3838
atomic_set_bit(pst_keys, i);
3939

40-
LOG_INF("key id %d is allocated", BT_MESH_TEST_PSA_KEY_ID_USER_MIN + i);
40+
LOG_INF("key id %d is allocated", BT_MESH_TEST_PSA_KEY_ID_MIN + i);
4141

42-
return BT_MESH_TEST_PSA_KEY_ID_USER_MIN + i;
42+
return BT_MESH_TEST_PSA_KEY_ID_MIN + i;
4343
}
4444
}
4545

@@ -48,9 +48,9 @@ psa_key_id_t bt_mesh_user_keyid_alloc(void)
4848

4949
int bt_mesh_user_keyid_free(psa_key_id_t key_id)
5050
{
51-
if (IN_RANGE(key_id, BT_MESH_TEST_PSA_KEY_ID_USER_MIN,
52-
BT_MESH_TEST_PSA_KEY_ID_USER_MIN + BT_MESH_KEY_ID_RANGE_SIZE - 1)) {
53-
atomic_clear_bit(pst_keys, key_id - BT_MESH_TEST_PSA_KEY_ID_USER_MIN);
51+
if (IN_RANGE(key_id, BT_MESH_TEST_PSA_KEY_ID_MIN,
52+
BT_MESH_TEST_PSA_KEY_ID_MIN + BT_MESH_PSA_KEY_ID_RANGE_SIZE - 1)) {
53+
atomic_clear_bit(pst_keys, key_id - BT_MESH_TEST_PSA_KEY_ID_MIN);
5454

5555
LOG_INF("key id %d is freed", key_id);
5656

@@ -62,9 +62,9 @@ int bt_mesh_user_keyid_free(psa_key_id_t key_id)
6262

6363
void bt_mesh_user_keyid_assign(psa_key_id_t key_id)
6464
{
65-
if (IN_RANGE(key_id, BT_MESH_TEST_PSA_KEY_ID_USER_MIN,
66-
BT_MESH_TEST_PSA_KEY_ID_USER_MIN + BT_MESH_KEY_ID_RANGE_SIZE - 1)) {
67-
atomic_set_bit(pst_keys, key_id - BT_MESH_TEST_PSA_KEY_ID_USER_MIN);
65+
if (IN_RANGE(key_id, BT_MESH_TEST_PSA_KEY_ID_MIN,
66+
BT_MESH_TEST_PSA_KEY_ID_MIN + BT_MESH_PSA_KEY_ID_RANGE_SIZE - 1)) {
67+
atomic_set_bit(pst_keys, key_id - BT_MESH_TEST_PSA_KEY_ID_MIN);
6868
LOG_INF("key id %d is assigned", key_id);
6969
} else {
7070
LOG_WRN("key id %d is out of the reserved id range", key_id);

tests/net/lib/wifi_credentials_backend_psa/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ target_compile_options(app
2727
-DCONFIG_WIFI_CREDENTIALS_MAX_ENTRIES=2
2828
-DCONFIG_WIFI_CREDENTIALS_SAE_PASSWORD_LENGTH=128
2929
-DCONFIG_WIFI_CREDENTIALS_LOG_LEVEL=4
30-
-DCONFIG_WIFI_CREDENTIALS_BACKEND_PSA_OFFSET=5
3130
)
3231

3332
set_property(

0 commit comments

Comments
 (0)