@@ -476,6 +476,31 @@ void libspdm_test_responder_set_key_pair_info_ack_case3(void **state)
476
476
assert_int_equal (spdm_response -> header .param1 ,
477
477
SPDM_ERROR_CODE_INVALID_REQUEST );
478
478
assert_int_equal (spdm_response -> header .param2 , 0 );
479
+
480
+ /*Before reset, change: remove an association with slot*/
481
+ set_key_pair_info_request_size =
482
+ sizeof (spdm_set_key_pair_info_request_t ) +
483
+ sizeof (uint8_t ) + sizeof (uint16_t ) + sizeof (uint32_t ) + sizeof (uint8_t );
484
+
485
+ libspdm_zero_mem (set_key_pair_info_request , set_key_pair_info_request_size );
486
+ set_key_pair_info_request -> header .spdm_version = SPDM_MESSAGE_VERSION_13 ;
487
+ set_key_pair_info_request -> header .request_response_code = SPDM_SET_KEY_PAIR_INFO ;
488
+ set_key_pair_info_request -> header .param1 = SPDM_SET_KEY_PAIR_INFO_CHANGE_OPERATION ;
489
+ set_key_pair_info_request -> header .param2 = 0 ;
490
+ set_key_pair_info_request -> key_pair_id = 0x1 ;
491
+
492
+ response_size = sizeof (response );
493
+ status = libspdm_get_response_set_key_pair_info_ack (
494
+ spdm_context , set_key_pair_info_request_size ,
495
+ set_key_pair_info_request , & response_size , response );
496
+ assert_int_equal (status , LIBSPDM_STATUS_SUCCESS );
497
+ assert_int_equal (response_size , sizeof (spdm_error_response_t ));
498
+ spdm_response = (void * )response ;
499
+ assert_int_equal (spdm_response -> header .request_response_code ,
500
+ SPDM_ERROR );
501
+ assert_int_equal (spdm_response -> header .param1 ,
502
+ SPDM_ERROR_CODE_RESET_REQUIRED );
503
+ assert_int_equal (spdm_response -> header .param2 , 0 );
479
504
}
480
505
481
506
int libspdm_responder_set_key_pair_info_ack_test_main (void )
0 commit comments