Skip to content

Commit 9e48787

Browse files
committed
ci(esp_tee): Enable the TEE test-apps for ESP32-C5
1 parent 12ab50d commit 9e48787

File tree

13 files changed

+264
-172
lines changed

13 files changed

+264
-172
lines changed

components/esp_tee/test_apps/.build-test-rules.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
components/esp_tee/test_apps/tee_cli_app:
44
disable:
5-
- if: IDF_TARGET not in ["esp32c6"]
6-
reason: only supported with esp32c6 for now
5+
- if: IDF_TARGET not in ["esp32c6", "esp32c5"]
6+
reason: only supported with c6 and c5
77

88
components/esp_tee/test_apps/tee_test_fw:
99
disable:
10-
- if: IDF_TARGET not in ["esp32c6", "esp32h2"]
11-
reason: only supported with esp32c6 and esp32h2 for now
10+
- if: IDF_TARGET not in ["esp32c6", "esp32h2", "esp32c5"]
11+
reason: only supported with c6, h2 and c5

components/esp_tee/test_apps/tee_cli_app/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
| Supported Targets | ESP32-C6 |
2-
| ----------------- | -------- |
1+
| Supported Targets | ESP32-C5 | ESP32-C6 |
2+
| ----------------- | -------- | -------- |
33

44
# TEE CLI Application: Secure Services Demonstration
55

components/esp_tee/test_apps/tee_cli_app/main/tee_srv_ota.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,6 @@ static void tee_ota_task(void *pvParameter)
111111
task_fatal_error();
112112
} else if (data_read > 0) {
113113
if (image_header_was_checked == false) {
114-
/* TODO: TEE image header is missing the `esp_app_desc_t` configuration structure */
115114
if (data_read > sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t)) {
116115
esp_image_header_t img_hdr;
117116
memcpy(&img_hdr, ota_write_data, sizeof(esp_image_header_t));

components/esp_tee/test_apps/tee_cli_app/pytest_tee_cli.py

Lines changed: 15 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66
import logging
77
import multiprocessing
88
import os
9-
import socket
109
import ssl
1110
import time
1211
from typing import Any
13-
from typing import Callable
1412

1513
import pexpect
1614
import pytest
@@ -22,7 +20,6 @@
2220
from ecdsa.util import sigdecode_der
2321
from pytest_embedded import Dut
2422
from pytest_embedded_idf.utils import idf_parametrize
25-
from RangeHTTPServer import RangeRequestHandler
2623

2724
TEST_MSG = 'hello world'
2825

@@ -36,12 +33,12 @@
3633

3734

3835
@pytest.mark.generic
39-
@idf_parametrize('target', ['esp32c6'], indirect=['target'])
36+
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
4037
def test_tee_cli_secure_storage(dut: Dut) -> None:
4138
# Dumping the REE binary size
4239
binary_file = os.path.join(dut.app.binary_path, 'tee_cli.bin')
4340
bin_size = os.path.getsize(binary_file)
44-
logging.info('tee_cli_bin_size : {}KB'.format(bin_size // 1024))
41+
logging.info(f'tee_cli_bin_size : {bin_size // 1024}KB')
4542

4643
# Starting the test
4744
dut.expect('ESP-TEE: Secure services demonstration', timeout=30)
@@ -122,12 +119,12 @@ def verify_att_token_signature(att_tk: str) -> Any:
122119

123120

124121
@pytest.mark.generic
125-
@idf_parametrize('target', ['esp32c6'], indirect=['target'])
122+
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
126123
def test_tee_cli_attestation(dut: Dut) -> None:
127124
# Dumping the REE binary size
128125
binary_file = os.path.join(dut.app.binary_path, 'tee_cli.bin')
129126
bin_size = os.path.getsize(binary_file)
130-
logging.info('tee_cli_bin_size : {}KB'.format(bin_size // 1024))
127+
logging.info(f'tee_cli_bin_size : {bin_size // 1024}KB')
131128

132129
# Starting the test
133130
dut.expect('ESP-TEE: Secure services demonstration', timeout=30)
@@ -149,41 +146,22 @@ def test_tee_cli_attestation(dut: Dut) -> None:
149146
#######################################
150147

151148

152-
def https_request_handler() -> Callable[..., http.server.BaseHTTPRequestHandler]:
153-
"""
154-
Returns a request handler class that handles broken pipe exception
155-
"""
156-
157-
class RequestHandler(RangeRequestHandler):
158-
def finish(self) -> None:
159-
try:
160-
if not self.wfile.closed:
161-
self.wfile.flush()
162-
self.wfile.close()
163-
except socket.error:
164-
pass
165-
self.rfile.close()
166-
167-
def handle(self) -> None:
168-
try:
169-
RangeRequestHandler.handle(self)
170-
except socket.error:
171-
pass
172-
173-
return RequestHandler
174-
175-
176149
def start_https_server(ota_image_dir: str, server_ip: str, server_port: int) -> None:
177150
os.chdir(ota_image_dir)
178-
requestHandler = https_request_handler()
179-
httpd = http.server.HTTPServer((server_ip, server_port), requestHandler)
151+
server_address = (server_ip, server_port)
152+
153+
Handler = http.server.SimpleHTTPRequestHandler
154+
httpd = http.server.HTTPServer(server_address, Handler)
155+
156+
context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
157+
context.load_cert_chain(certfile=server_file, keyfile=key_file)
180158

181-
httpd.socket = ssl.wrap_socket(httpd.socket, keyfile=key_file, certfile=server_file, server_side=True)
159+
httpd.socket = context.wrap_socket(httpd.socket, server_side=True)
182160
httpd.serve_forever()
183161

184162

185163
@pytest.mark.wifi_high_traffic
186-
@idf_parametrize('target', ['esp32c6'], indirect=['target'])
164+
@idf_parametrize('target', ['supported_targets'], indirect=['target'])
187165
def test_tee_cli_secure_ota_wifi(dut: Dut) -> None:
188166
"""
189167
This is a positive test case, which downloads complete binary file multiple number of times.
@@ -214,7 +192,7 @@ def test_tee_cli_secure_ota_wifi(dut: Dut) -> None:
214192

215193
# Starting the test
216194
dut.expect('ESP-TEE: Secure services demonstration', timeout=30)
217-
time.sleep(1)
195+
time.sleep(2)
218196

219197
# Connecting to Wi-Fi
220198
env_name = 'wifi_high_traffic'
@@ -225,7 +203,7 @@ def test_tee_cli_secure_ota_wifi(dut: Dut) -> None:
225203
# Fetch the DUT IP address
226204
try:
227205
ip_address = dut.expect(r'got ip:(\d+\.\d+\.\d+\.\d+)[^\d]', timeout=30)[1].decode()
228-
print('Connected to AP/Ethernet with IP: {}'.format(ip_address))
206+
print(f'Connected to AP/Ethernet with IP: {ip_address}')
229207
except pexpect.exceptions.TIMEOUT:
230208
raise ValueError('ENV_TEST_FAILURE: Cannot connect to AP')
231209

components/esp_tee/test_apps/tee_cli_app/sdkconfig.defaults

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ CONFIG_FREERTOS_UNICORE=y
1414
# TEE: OTA-related
1515
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
1616
CONFIG_EXAMPLE_SKIP_COMMON_NAME_CHECK=y
17-
CONFIG_EXAMPLE_OTA_RECV_TIMEOUT=45000
17+
CONFIG_EXAMPLE_OTA_RECV_TIMEOUT=30000
1818

1919
# Custom certificates for testing
2020
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN=y
Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,27 @@
11
-----BEGIN CERTIFICATE-----
2-
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
2027
-----END CERTIFICATE-----
Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,40 @@
11
-----BEGIN PRIVATE KEY-----
2-
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDhxF/y7bygndxP
3-
wiWLSwS9LY3uBMaJgup0ufNKVhx+FhGQOu44SghuJAaH3KkPUnt6SOM8jC97/yQu
4-
c32WukI7eBZoA12kargSnzdv5m5rZZpd+NznSSpoDArOAONKVlzr25A1+aZbix2m
5-
KRbQS5w9o1N2BriQuSzd8gL0Y0zEk3VkOWXEL+0yFUT144HnErnD+xnJtHe11yPO
6-
2fEzYaGiilh0ddL26PXTugXMZN/8fRVHP50P2OG0SvFpC7vghlLp4VFM1/r3UJnv
7-
L6Oz3ALc6dhxZEKQucqlpj8l1UegszQToopemtIj0qXTHw2+uUnkUyWIPjPC+wdO
8-
AoaprFTRAgMBAAECggEAE0HCxV/N1Q1h+1OeDDGL5+74yjKSFKyb/vTVcaPCrmaH
9-
fPvp0ddOvMZJ4FDMAsiQS6/n4gQ7EKKEnYmwTqj4eUYW8yxGUn3f0YbPHbZT+Mkj
10-
z5woi3nMKi/MxCGDQZX4Ow3xUQlITUqibsfWcFHis8c4mTqdh4qj7xJzehD2PVYF
11-
gNHZsvVj6MltjBDAVwV1IlGoHjuElm6vuzkfX7phxcA1B4ZqdYY17yCXUnvui46z
12-
Xn2kUTOOUCEgfgvGa9E+l4OtdXi5IxjaSraU+dlg2KsE4TpCuN2MEVkeR5Ms3Y7Q
13-
jgJl8vlNFJDQpbFukLcYwG7rO5N5dQ6WWfVia/5XgQKBgQD74at/bXAPrh9NxPmz
14-
i1oqCHMDoM9sz8xIMZLF9YVu3Jf8ux4xVpRSnNy5RU1gl7ZXbpdgeIQ4v04zy5aw
15-
8T4tu9K3XnR3UXOy25AK0q+cnnxZg3kFQm+PhtOCKEFjPHrgo2MUfnj+EDddod7N
16-
JQr9q5rEFbqHupFPpWlqCa3QmQKBgQDldWUGokNaEpmgHDMnHxiibXV5LQhzf8Rq
17-
gJIQXb7R9EsTSXEvsDyqTBb7PHp2Ko7rZ5YQfyf8OogGGjGElnPoU/a+Jij1gVFv
18-
kZ064uXAAISBkwHdcuobqc5EbG3ceyH46F+FBFhqM8KcbxJxx08objmh58+83InN
19-
P9Qr25Xw+QKBgEGXMHuMWgQbSZeM1aFFhoMvlBO7yogBTKb4Ecpu9wI5e3Kan3Al
20-
pZYltuyf+VhP6XG3IMBEYdoNJyYhu+nzyEdMg8CwXg+8LC7FMis/Ve+o7aS5scgG
21-
1to/N9DK/swCsdTRdzmc/ZDbVC+TuVsebFBGYZTyO5KgqLpezqaIQrTxAoGALFCU
22-
10glO9MVyl9H3clap5v+MQ3qcOv/EhaMnw6L2N6WVT481tnxjW4ujgzrFcE4YuxZ
23-
hgwYu9TOCmeqopGwBvGYWLbj+C4mfSahOAs0FfXDoYazuIIGBpuv03UhbpB1Si4O
24-
rJDfRnuCnVWyOTkl54gKJ2OusinhjztBjcrV1XkCgYEA3qNi4uBsPdyz9BZGb/3G
25-
rOMSw0CaT4pEMTLZqURmDP/0hxvTk1polP7O/FYwxVuJnBb6mzDa0xpLFPTpIAnJ
26-
YXB8xpXU69QVh+EBbemdJWOd+zp5UCfXvb2shAeG3Tn/Dz4cBBMEUutbzP+or0nG
27-
vSXnRLaxQhooWm+IuX9SuBQ=
2+
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
39+
Q4QjfIE8PkLbVa1oC3niOWdo
2840
-----END PRIVATE KEY-----

components/esp_tee/test_apps/tee_test_fw/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
| Supported Targets | ESP32-C6 | ESP32-H2 |
2-
| ----------------- | -------- | -------- |
1+
| Supported Targets | ESP32-C5 | ESP32-C6 | ESP32-H2 |
2+
| ----------------- | -------- | -------- | -------- |
33

44
## ESP-TEE: Test Suite
55

components/esp_tee/test_apps/tee_test_fw/conftest.py

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,48 @@
104104
0xDC, 0x60, 0x86, 0x6C, 0x37, 0x76, 0xAA, 0x30, 0x1F, 0x61, 0x48, 0x23,
105105
0xEA, 0x34, 0xAA, 0x19, 0xE8, 0xDE, 0x04, 0x7D, 0x2A, 0x30, 0xC1, 0xDD,
106106
0x61, 0x38, 0x9D, 0xB5, 0xCA, 0x13, 0x5A, 0x79
107-
]
107+
],
108+
'esp32c5': [
109+
0xE9, 0x04, 0x02, 0x1F, 0x00, 0x00, 0x80, 0x40, 0xEE, 0x00, 0x00, 0x00,
110+
0x17, 0x00, 0x00, 0x64, 0x00, 0xC7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
111+
# DROM segment
112+
0x20, 0x00, 0x00, 0x42, 0x00, 0x02, 0x00, 0x00,
113+
# esp_app_desc structure
114+
0x32, 0x54, 0xCD, 0xAB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
115+
0x00, 0x00, 0x00, 0x00, 0x76, 0x35, 0x2E, 0x35, 0x00, 0x00, 0x00, 0x00,
116+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
117+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
118+
0x65, 0x73, 0x70, 0x5F, 0x74, 0x65, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00,
119+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120+
0x30, 0x30, 0x3A, 0x30, 0x30, 0x3A, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,
121+
0x00, 0x00, 0x00, 0x00, 0x4E, 0x6F, 0x76, 0x20, 0x31, 0x31, 0x20, 0x32,
122+
0x30, 0x32, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x35, 0x2E, 0x35,
123+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
124+
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
125+
0x00, 0x00, 0x00, 0x00, 0x2D, 0x63, 0x66, 0x8B, 0x75, 0xFA, 0x59, 0x05,
126+
0x53, 0x34, 0x91, 0x71, 0x51, 0x33, 0x91, 0xDD, 0xF8, 0xB1, 0xFE, 0x83,
127+
0x06, 0xEB, 0x03, 0x80, 0x45, 0xC9, 0x18, 0x20, 0x83, 0x7E, 0x2E, 0x43,
128+
*([0x00] * 0x58),
129+
# Padding
130+
*([0x00] * 0x100),
131+
# IRAM segment
132+
0x00, 0x00, 0x80, 0x40, 0x20, 0x00, 0x00, 0x00,
133+
*([0x00] * 0x20),
134+
# PADDING segment
135+
0x00, 0x00, 0x00, 0x00, 0xC8, 0x7D, 0x00, 0x00,
136+
*([0x00] * 0x7DC8),
137+
# IROM segment
138+
0x20, 0x80, 0x00, 0x42, 0x00, 0x01, 0x00, 0x00,
139+
*([0x00] * 0x100),
140+
# Padding
141+
*([0x00] * 0x0F),
142+
# CRC8 checksum
143+
0x56,
144+
# Image SHA256
145+
0xCD, 0xCC, 0xF2, 0xE3, 0x52, 0x76, 0xE5, 0x6D, 0xF6, 0x32, 0x95, 0x27,
146+
0x5F, 0xF3, 0xD8, 0x90, 0xD7, 0x95, 0xA0, 0x95, 0xD5, 0xDA, 0xE7, 0xA4,
147+
0x58, 0x08, 0x84, 0xBB, 0x8F, 0x29, 0xAB, 0xE4
148+
],
108149
}
109150
# fmt: on
110151

0 commit comments

Comments
 (0)