Skip to content

Commit ad9a931

Browse files
gchwiernordicjm
authored andcommitted
tests: Use correct KMU keyslot during provisioning
Updated tests to use proper keyname for MCUboot Signed-off-by: Grzegorz Chwierut <[email protected]>
1 parent 83adb76 commit ad9a931

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

tests/subsys/kmu/pytest/common.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import subprocess
1010

1111
from pathlib import Path
12+
from twister_harness.helpers.utils import find_in_config
1213

1314
logger = logging.getLogger(__name__)
1415

@@ -73,6 +74,14 @@ def flash_board(build_dir: Path | str, dev_id: str | None, erase: bool = False):
7374
run_command(command)
7475

7576

77+
def get_keyname_for_mcuboot(sysbuild_config: Path) -> str:
78+
keyname = "BL_PUBKEY"
79+
if (find_in_config(sysbuild_config, "SB_CONFIG_SECURE_BOOT_APPCORE")
80+
or find_in_config(sysbuild_config, "SB_CONFIG_MCUBOOT_SIGNATURE_KMU_UROT_MAPPING")):
81+
keyname = "UROT_PUBKEY"
82+
return keyname
83+
84+
7685
def provision_keys_for_kmu(
7786
keys: list[str] | str,
7887
keyname: str = "UROT_PUBKEY", # UROT_PUBKEY, BL_PUBKEY, APP_PUBKEY

tests/subsys/kmu/pytest/test_kmu_provision.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from twister_harness import DeviceAdapter
1212
from twister_harness.helpers.utils import match_lines, find_in_config
1313
from common import (
14+
get_keyname_for_mcuboot,
1415
provision_keys_for_kmu,
1516
reset_board,
1617
APP_KEYS_FOR_KMU
@@ -49,7 +50,7 @@ def test_kmu_use_key_from_config(dut: DeviceAdapter, test_option):
4950

5051
provision_keys_for_kmu(
5152
keys=keys,
52-
keyname="UROT_PUBKEY",
53+
keyname=get_keyname_for_mcuboot(sysbuild_config),
5354
dev_id=dut.device_config.id
5455
)
5556
dut.clear_buffer()
@@ -70,13 +71,14 @@ def test_kmu_use_wrong_key(dut: DeviceAdapter):
7071
verify that the application does not boot if the keys are incorrect.
7172
"""
7273
logger.info("Provision wrong keys")
74+
sysbuild_config = Path(dut.device_config.build_dir) / 'zephyr' / '.config'
7375
provision_keys_for_kmu(
7476
keys=[
7577
APP_KEYS_FOR_KMU / 'root-ed25519-1.pem',
7678
APP_KEYS_FOR_KMU / 'root-ed25519-2.pem',
7779
APP_KEYS_FOR_KMU / 'root-ed25519-w.pem'
7880
],
79-
keyname="UROT_PUBKEY",
81+
keyname=get_keyname_for_mcuboot(sysbuild_config),
8082
dev_id=dut.device_config.id
8183
)
8284

0 commit comments

Comments
 (0)