Skip to content

Commit 241a641

Browse files
committed
[FiSim] Owner Upgrade Self Signed Test
Instruction skip test on uploading a self signed owner configuration block. Signed-off-by: Siemen Dhooghe <[email protected]>
1 parent 388b82d commit 241a641

File tree

7 files changed

+697
-1
lines changed

7 files changed

+697
-1
lines changed

sw/device/tests/penetrationtests/BUILD

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
33
# SPDX-License-Identifier: Apache-2.0
44

5-
load(":pentest.bzl", "pentest_cryptolib_fi_asym", "pentest_cryptolib_fi_gdb_asym", "pentest_cryptolib_fi_gdb_sym", "pentest_cryptolib_fi_sym", "pentest_cryptolib_sca_asym", "pentest_cryptolib_sca_sym", "pentest_fi", "pentest_fi_ibex", "pentest_fi_otbn", "pentest_owner_upgrade_fi_gdb", "pentest_sca")
5+
load(":pentest.bzl", "pentest_cryptolib_fi_asym", "pentest_cryptolib_fi_gdb_asym", "pentest_cryptolib_fi_gdb_sym", "pentest_cryptolib_fi_sym", "pentest_cryptolib_sca_asym", "pentest_cryptolib_sca_sym", "pentest_fi", "pentest_fi_ibex", "pentest_fi_otbn", "pentest_owner_upgrade_fi_gdb", "pentest_owner_upgrade_self_signed_fi_gdb", "pentest_sca")
66
load("@ot_python_deps//:requirements.bzl", "requirement")
77

88
package(default_visibility = ["//visibility:public"])
@@ -484,3 +484,14 @@ pentest_owner_upgrade_fi_gdb(
484484
test_harness = "//sw/host/penetrationtests/python/fi:fi_owner_upgrade_python_gdb_test",
485485
test_vectors = [],
486486
)
487+
488+
pentest_owner_upgrade_self_signed_fi_gdb(
489+
name = "fi_owner_upgrade_self_signed_python_gdb_test",
490+
tags = [
491+
"manual",
492+
"skip_in_ci",
493+
],
494+
test_args = "",
495+
test_harness = "//sw/host/penetrationtests/python/fi:fi_owner_upgrade_self_signed_python_gdb_test",
496+
test_vectors = [],
497+
)

sw/device/tests/penetrationtests/firmware/testdata/BUILD

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,3 +147,10 @@ otp_image(
147147
)
148148

149149
exports_files(["bl0_owner_upgrade.c"])
150+
151+
exports_files(["bl0_self_signed_owner_upgrade.c"])
152+
153+
cc_library(
154+
name = "self_signed_owner_config_bin_h",
155+
hdrs = ["self_signed_owner_config_bin.h"],
156+
)
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// Copyright lowRISC contributors (OpenTitan project).
2+
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
#include "sw/device/lib/base/bitfield.h"
6+
#include "sw/device/lib/base/status.h"
7+
#include "sw/device/lib/runtime/log.h"
8+
#include "sw/device/lib/testing/test_framework/check.h"
9+
#include "sw/device/lib/testing/test_framework/ottf_main.h"
10+
#include "sw/device/silicon_creator/lib/drivers/flash_ctrl.h"
11+
#include "sw/device/silicon_creator/lib/drivers/retention_sram.h"
12+
#include "sw/device/silicon_creator/lib/drivers/rstmgr.h"
13+
#include "sw/device/silicon_creator/lib/ownership/owner_block.h"
14+
#include "sw/device/tests/penetrationtests/firmware/testdata/self_signed_owner_config.bin.h"
15+
16+
OTTF_DEFINE_TEST_CONFIG();
17+
18+
bool test_main(void) {
19+
// read the active owner block page 0 from flash
20+
owner_block_t block;
21+
CHECK(flash_ctrl_info_read(&kFlashCtrlInfoPageOwnerSlot0, 0,
22+
sizeof(block) / sizeof(uint32_t),
23+
&block) == kErrorOk);
24+
LOG_INFO("owner_page_0: %d", block.config_version);
25+
LOG_INFO("owner_key: %08x", block.owner_key.ecdsa.x[0]);
26+
27+
// write the self-signed upgrade request to page 1
28+
CHECK(flash_ctrl_info_erase(&kFlashCtrlInfoPageOwnerSlot1,
29+
kFlashCtrlEraseTypePage) == kErrorOk);
30+
CHECK(flash_ctrl_info_write(&kFlashCtrlInfoPageOwnerSlot1, 0,
31+
self_signed_bin_len / sizeof(uint32_t),
32+
self_signed_bin) == kErrorOk);
33+
34+
LOG_INFO("owner_page_1 erased and written");
35+
while (1) {
36+
}
37+
return true;
38+
}
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
// Copyright lowRISC contributors (OpenTitan project).
2+
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
unsigned char self_signed_bin[] = {
6+
0x4f, 0x57, 0x4e, 0x52, 0x00, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
7+
0x4c, 0x4e, 0x45, 0x58, 0x50, 0x32, 0x35, 0x36, 0x4f, 0x50, 0x45, 0x4e,
8+
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x7e, 0x7e, 0x7e,
9+
0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e,
10+
0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e, 0x7e,
11+
0x7e, 0x7e, 0x7e, 0x7e, 0xd4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
12+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
13+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
14+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
15+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
16+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xf5, 0x5f, 0x66,
17+
0x01, 0x38, 0xc6, 0x06, 0xd3, 0x48, 0xbf, 0x4d, 0x68, 0xf6, 0x43, 0x02,
18+
0x59, 0x89, 0x63, 0xaa, 0x2b, 0xe0, 0x70, 0x8a, 0xa9, 0x27, 0x41, 0x1f,
19+
0x6b, 0x55, 0xa2, 0x29, 0x74, 0x52, 0x44, 0xb4, 0x52, 0x40, 0x47, 0xd0,
20+
0xc6, 0x6b, 0x02, 0x62, 0x22, 0x10, 0x75, 0x05, 0x4a, 0xa8, 0x5b, 0xec,
21+
0x18, 0xeb, 0x5a, 0x4e, 0xc1, 0x21, 0x12, 0x3d, 0xc7, 0x9c, 0x9d, 0xe8,
22+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
23+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
24+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x12, 0xa3, 0x63,
25+
0xba, 0x37, 0xb2, 0x04, 0xf4, 0xe9, 0x38, 0x37, 0x07, 0xa2, 0x82, 0x58,
26+
0x70, 0xd7, 0x5d, 0x8c, 0xe3, 0x9a, 0x27, 0xbc, 0x94, 0x86, 0x60, 0x4f,
27+
0x56, 0x86, 0x88, 0xc7, 0x57, 0x2c, 0xe3, 0xbb, 0x5a, 0xa3, 0x28, 0x15,
28+
0x16, 0x69, 0x3f, 0xf1, 0x5e, 0x2d, 0x80, 0xa3, 0x3d, 0x6f, 0x1f, 0xcf,
29+
0xa0, 0x61, 0x8b, 0x2f, 0x8f, 0x7f, 0xe9, 0xa5, 0x26, 0x8a, 0x32, 0x77,
30+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
32+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb2, 0x87, 0x3f, 0x11,
33+
0xe7, 0x1c, 0x71, 0x04, 0xd9, 0x06, 0xf3, 0x6a, 0xdd, 0x76, 0x0e, 0xb8,
34+
0xd2, 0x0f, 0xe3, 0x26, 0x6e, 0xb8, 0x71, 0xda, 0x0f, 0xc8, 0x62, 0xa0,
35+
0xb2, 0x4e, 0x4f, 0x28, 0x44, 0x4f, 0x70, 0xe5, 0xc5, 0x98, 0x10, 0xb1,
36+
0xd5, 0x48, 0x1d, 0xc3, 0x0f, 0xd1, 0x95, 0x58, 0x45, 0x15, 0xc1, 0x7a,
37+
0x92, 0x1e, 0x03, 0x86, 0xc6, 0x17, 0xc6, 0x71, 0x14, 0x3b, 0x8e, 0x1f,
38+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x50, 0x50, 0x4b,
41+
0x70, 0x00, 0x00, 0x00, 0x50, 0x32, 0x35, 0x36, 0x70, 0x72, 0x6f, 0x64,
42+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
43+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
44+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x67, 0x5b, 0x26,
45+
0x1f, 0xf1, 0x6d, 0x65, 0x24, 0x8c, 0x26, 0xe7, 0x71, 0x2b, 0x68, 0xf7,
46+
0xbc, 0x07, 0x54, 0x1a, 0x8b, 0x4f, 0xd6, 0x60, 0xea, 0xf0, 0xf3, 0x0d,
47+
0xc0, 0x82, 0xde, 0x32, 0xb0, 0x07, 0x81, 0x24, 0x64, 0x13, 0xdf, 0xdd,
48+
0x58, 0x1d, 0x9b, 0xa9, 0x33, 0x73, 0x89, 0x35, 0xda, 0x24, 0x13, 0x66,
49+
0xd4, 0xcf, 0xd9, 0x4a, 0x48, 0xca, 0x55, 0xac, 0xf4, 0x56, 0xd4, 0x47,
50+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
51+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
52+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
53+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
54+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
55+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
56+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
57+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
58+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
59+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
60+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
61+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
62+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
63+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
64+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
65+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
66+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
67+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
68+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
69+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
70+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
71+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
72+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
73+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
74+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
75+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
76+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
77+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
78+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
79+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
80+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
81+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
82+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
83+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
84+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
85+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
86+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
87+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
88+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
89+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
90+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
91+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
92+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
93+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
94+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
95+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
96+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
97+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
98+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
99+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
100+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
101+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
102+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
103+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
104+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
105+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
106+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
107+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
108+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
109+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
110+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
111+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
112+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
113+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
114+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
115+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
116+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
117+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
118+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
119+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
120+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
121+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
122+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
123+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
124+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
125+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
126+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
127+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
128+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
129+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
130+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
131+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
132+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
133+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
134+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
135+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
136+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
137+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
138+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
139+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
140+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
141+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
142+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
143+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
144+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
145+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
146+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
147+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
148+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
149+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
150+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
151+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
152+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
153+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
154+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
155+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
156+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
157+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
158+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
159+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
160+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
161+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
162+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
163+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
164+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
165+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
166+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
167+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a,
168+
0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x80, 0xe9, 0xb3, 0xc7,
169+
0x05, 0x07, 0x9f, 0x3c, 0xe2, 0x04, 0x49, 0xbc, 0x90, 0x77, 0xde, 0x88,
170+
0x70, 0xf4, 0x3c, 0xff, 0xc7, 0x99, 0x9e, 0xe5, 0x67, 0x0b, 0x75, 0xb5,
171+
0x01, 0xe6, 0xcb, 0xdd, 0x9a, 0x7d, 0x2a, 0xa3, 0xd9, 0x58, 0xa9, 0x21,
172+
0xe4, 0x7d, 0xc1, 0xd0, 0x46, 0x94, 0xf3, 0x33, 0xb2, 0xb2, 0x90, 0x94,
173+
0x0f, 0xb3, 0x09, 0x28, 0x3f, 0xe5, 0x08, 0x5d, 0xf8, 0x9a, 0x9f, 0x23,
174+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
175+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
176+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
177+
unsigned int self_signed_bin_len = 2048;

sw/device/tests/penetrationtests/pentest.bzl

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,3 +746,46 @@ def pentest_owner_upgrade_fi_gdb(name, test_vectors, test_args, test_harness, ta
746746
"//sw/device/silicon_creator/lib/ownership:owner_block",
747747
],
748748
)
749+
750+
def pentest_owner_upgrade_self_signed_fi_gdb(name, test_vectors, test_args, test_harness, tags):
751+
"""A macro for defining a CryptoTest test case.
752+
753+
Args:
754+
name: the name of the test.
755+
test_vectors: the test vectors to use.
756+
test_args: additional arguments to pass to the test.
757+
test_harness: the test harness to use.
758+
tags: indicate the tags for CI.
759+
"""
760+
opentitan_test(
761+
name = name,
762+
exec_env = {
763+
"//hw/top_earlgrey:fpga_cw340_rom_ext": None,
764+
},
765+
srcs = ["//sw/device/tests/penetrationtests/firmware/testdata:bl0_self_signed_owner_upgrade.c"],
766+
fpga = fpga_params(
767+
timeout = "eternal",
768+
# We set an OTP with the RMA lifecycle, ensure ROM_EXT can still boot
769+
otp = "//sw/device/tests/penetrationtests/firmware/testdata:otp_img_rom_ext_fi",
770+
rom_ext = "//sw/device/silicon_creator/rom_ext:rom_ext_owner_update_newversion",
771+
changes_otp = True, # i.e. changes owner
772+
data = test_vectors,
773+
tags = tags,
774+
test_cmd = """
775+
--bootstrap={firmware} --rom_ext={rom_ext} --rom={rom}
776+
""" + test_args,
777+
test_harness = test_harness,
778+
),
779+
deps = [
780+
"//sw/device/lib/base:bitfield",
781+
"//sw/device/lib/base:status",
782+
"//sw/device/lib/runtime:log",
783+
"//sw/device/lib/testing/test_framework:check",
784+
"//sw/device/lib/testing/test_framework:ottf_main",
785+
"//sw/device/silicon_creator/lib/drivers:flash_ctrl",
786+
"//sw/device/silicon_creator/lib/drivers:retention_sram",
787+
"//sw/device/silicon_creator/lib/drivers:rstmgr",
788+
"//sw/device/silicon_creator/lib/ownership:owner_block",
789+
"//sw/device/tests/penetrationtests/firmware/testdata:self_signed_owner_config_bin_h",
790+
],
791+
)

sw/host/penetrationtests/python/fi/BUILD

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,6 +231,25 @@ py_binary(
231231
],
232232
)
233233

234+
py_binary(
235+
name = "fi_owner_upgrade_self_signed_python_gdb_test",
236+
testonly = True,
237+
srcs = ["gdb_testing/fi_owner_upgrade_self_signed_python_gdb_test.py"],
238+
data = [
239+
"//sw/host/opentitantool",
240+
"//third_party/openocd:jtag_cmsis_dap_adapter_cfg",
241+
"//third_party/openocd:openocd_bin",
242+
"//util/openocd/target:lowrisc-earlgrey.cfg",
243+
"@lowrisc_rv32imcb_toolchain//:bin/riscv32-unknown-elf-gdb",
244+
],
245+
deps = [
246+
"//sw/host/penetrationtests/python/util:dis_parser",
247+
"//sw/host/penetrationtests/python/util:gdb_controller",
248+
"//sw/host/penetrationtests/python/util:targets",
249+
"@rules_python//python/runfiles",
250+
],
251+
)
252+
234253
py_library(
235254
name = "fi_ibex_functions",
236255
srcs = ["host_scripts/fi_ibex_functions.py"],

0 commit comments

Comments
 (0)