@@ -38,8 +38,8 @@ using namespace utest::v1;
38
38
#define MSG_KEY_DEVICE_TEST_STEP4 " check_consistency_step4"
39
39
#define MSG_KEY_DEVICE_TEST_SUITE_ENDED " Test suite ended"
40
40
41
- void generate_derived_key_consistency_16_byte_key_reset_test (char *key);
42
- void generate_derived_key_consistency_32_byte_key_reset_test (char *key);
41
+ void generate_derived_key_consistency_16_byte_key_long_consistency_test (char *key);
42
+ void generate_derived_key_consistency_32_byte_key_long_consistency_test (char *key);
43
43
44
44
/*
45
45
* Injection of a dummy key when there is no TRNG
@@ -58,33 +58,26 @@ int inject_dummy_rot_key()
58
58
#endif
59
59
}
60
60
61
- void generate_derived_key_reset_test ()
61
+ void generate_derived_key_long_consistency_test ()
62
62
{
63
- greentea_send_kv (MSG_KEY_DEVICE_READY, MSG_VALUE_DUMMY);
64
-
65
63
static char key[MSG_KEY_LEN + 1 ] = { };
66
64
static char value[MSG_VALUE_LEN + 1 ] = { };
67
- memset (key, 0 , MSG_KEY_LEN + 1 );
68
- memset (value, 0 , MSG_VALUE_LEN + 1 );
69
-
70
- greentea_parse_kv (key, value, MSG_KEY_LEN, MSG_VALUE_LEN);
71
65
72
- if ( strcmp ( key, MSG_KEY_DEVICE_TEST_STEP1) == 0 || strcmp (key, MSG_KEY_DEVICE_TEST_STEP2) == 0 ) {
73
- generate_derived_key_consistency_16_byte_key_reset_test (key);
74
- return generate_derived_key_reset_test ( );
75
- }
76
-
77
- if ( strcmp ( key, MSG_KEY_DEVICE_TEST_STEP3) == 0 || strcmp (key, MSG_KEY_DEVICE_TEST_STEP4) == 0 ) {
78
- return generate_derived_key_consistency_32_byte_key_reset_test (key);
79
- }
66
+ strcpy ( key, MSG_KEY_DEVICE_TEST_STEP1);
67
+ generate_derived_key_consistency_16_byte_key_long_consistency_test (key);
68
+ strcpy (key, MSG_KEY_DEVICE_TEST_STEP2 );
69
+ generate_derived_key_consistency_16_byte_key_long_consistency_test (key);
70
+ strcpy (key, MSG_KEY_DEVICE_TEST_STEP3);
71
+ generate_derived_key_consistency_32_byte_key_long_consistency_test ( key);
72
+ strcpy (key, MSG_KEY_DEVICE_TEST_STEP4 );
73
+ generate_derived_key_consistency_32_byte_key_long_consistency_test (key);
80
74
81
- TEST_ASSERT_MESSAGE (false , key); // Indicates error!!!
82
75
}
83
76
84
77
/*
85
78
* Test the consistency of derived 16 byte key result after device reset.
86
79
*/
87
- void generate_derived_key_consistency_16_byte_key_reset_test (char *key)
80
+ void generate_derived_key_consistency_16_byte_key_long_consistency_test (char *key)
88
81
{
89
82
unsigned char output1[DEVICE_KEY_16BYTE];
90
83
unsigned char output2[DEVICE_KEY_16BYTE];
@@ -115,8 +108,6 @@ void generate_derived_key_consistency_16_byte_key_reset_test(char *key)
115
108
ret = nvstore.set (15 , DEVICE_KEY_16BYTE, output1);
116
109
TEST_ASSERT_EQUAL_INT32 (0 , ret);
117
110
118
- system_reset ();
119
- TEST_ASSERT_MESSAGE (false , " system_reset() did not reset the device as expected." );
120
111
} else if (strcmp (key, MSG_KEY_DEVICE_TEST_STEP2) == 0 ) {
121
112
122
113
// Second step: Read from NVStore at index 15 there should be a derived key there.
@@ -136,7 +127,6 @@ void generate_derived_key_consistency_16_byte_key_reset_test(char *key)
136
127
ret = nvstore.reset ();
137
128
TEST_ASSERT_EQUAL_INT (DEVICEKEY_SUCCESS, ret);
138
129
139
- greentea_send_kv (MSG_KEY_DEVICE_FINISH, MSG_VALUE_DUMMY);
140
130
} else {
141
131
TEST_ASSERT_MESSAGE (false , " Unknown test step received" );
142
132
}
@@ -145,7 +135,7 @@ void generate_derived_key_consistency_16_byte_key_reset_test(char *key)
145
135
/*
146
136
* Test the consistency of derived 32 byte key result after device reset.
147
137
*/
148
- void generate_derived_key_consistency_32_byte_key_reset_test (char *key)
138
+ void generate_derived_key_consistency_32_byte_key_long_consistency_test (char *key)
149
139
{
150
140
unsigned char output1[DEVICE_KEY_32BYTE];
151
141
unsigned char output2[DEVICE_KEY_32BYTE];
@@ -176,8 +166,6 @@ void generate_derived_key_consistency_32_byte_key_reset_test(char *key)
176
166
ret = nvstore.set (15 , DEVICE_KEY_32BYTE, output1);
177
167
TEST_ASSERT_EQUAL_INT32 (0 , ret);
178
168
179
- system_reset ();
180
- TEST_ASSERT_MESSAGE (false , " system_reset() did not reset the device as expected." );
181
169
} else if (strcmp (key, MSG_KEY_DEVICE_TEST_STEP4) == 0 ) {
182
170
183
171
// Fourth step: Read from NVStore at index 15 there should be a derived key there.
@@ -197,7 +185,6 @@ void generate_derived_key_consistency_32_byte_key_reset_test(char *key)
197
185
ret = nvstore.reset ();
198
186
TEST_ASSERT_EQUAL_INT (DEVICEKEY_SUCCESS, ret);
199
187
200
- greentea_send_kv (MSG_KEY_DEVICE_FINISH, MSG_VALUE_DUMMY);
201
188
} else {
202
189
TEST_ASSERT_MESSAGE (false , " Unknown test step received" );
203
190
}
@@ -461,7 +448,7 @@ utest::v1::status_t greentea_failure_handler(const Case *const source, const fai
461
448
462
449
// Currently there can be only one test that contains reset and it has to be the first test!
463
450
Case cases[] = {
464
- Case (" Device Key - derived key reset " , generate_derived_key_reset_test , greentea_failure_handler),
451
+ Case (" Device Key - long consistency test " , generate_derived_key_long_consistency_test , greentea_failure_handler),
465
452
Case (" Device Key - inject value wrong size" , device_inject_root_of_trust_wrong_size_test, greentea_failure_handler),
466
453
Case (" Device Key - inject value 16 byte size" , device_inject_root_of_trust_16_byte_size_test, greentea_failure_handler),
467
454
Case (" Device Key - inject value 32 byte size" , device_inject_root_of_trust_32_byte_size_test, greentea_failure_handler),
@@ -475,7 +462,7 @@ Case cases[] = {
475
462
476
463
utest::v1::status_t greentea_test_setup (const size_t number_of_cases)
477
464
{
478
- GREENTEA_SETUP (14 , " devicekey_reset " );
465
+ GREENTEA_SETUP (14 , " default_auto " );
479
466
return greentea_test_setup_handler (number_of_cases);
480
467
}
481
468
@@ -484,7 +471,6 @@ Specification specification(greentea_test_setup, cases, greentea_test_teardown_h
484
471
int main ()
485
472
{
486
473
bool ret = Harness::run (specification);
487
- greentea_send_kv (MSG_KEY_DEVICE_TEST_SUITE_ENDED, MSG_VALUE_DUMMY);
488
474
489
475
return ret;
490
476
}
0 commit comments