Skip to content

Commit

Permalink
Rename key schedule macro
Browse files Browse the repository at this point in the history
Fix DMTF#2951.

Signed-off-by: Steven Bellock <[email protected]>
  • Loading branch information
steven-bellock committed Jan 14, 2025
1 parent 5ebe5e3 commit 3b0a2e8
Show file tree
Hide file tree
Showing 12 changed files with 45 additions and 42 deletions.
7 changes: 5 additions & 2 deletions include/industry_standard/spdm.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Copyright Notice:
* Copyright 2021-2024 DMTF. All rights reserved.
* Copyright 2021-2025 DMTF. All rights reserved.
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
**/

Expand Down Expand Up @@ -402,7 +402,10 @@ typedef struct {
#define SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AEAD_SM4_GCM 0x00000008

/* SPDM NEGOTIATE_ALGORITHMS request KEY_SCHEDULE */
#define SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH 0x00000001
#define SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM 0x00000001

/* Legacy macro. Will be removed in libspdm 4.0. */
#define SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM

/* SPDM NEGOTIATE_ALGORITHMS response */
typedef struct {
Expand Down
4 changes: 2 additions & 2 deletions library/spdm_requester_lib/libspdm_req_negotiate_algorithms.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Copyright Notice:
* Copyright 2021-2024 DMTF. All rights reserved.
* Copyright 2021-2025 DMTF. All rights reserved.
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
**/

Expand Down Expand Up @@ -566,7 +566,7 @@ static libspdm_return_t libspdm_try_negotiate_algorithms(libspdm_context_t *spdm
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP,
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP)) {
if (spdm_context->connection_info.algorithm.key_schedule !=
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH) {
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM) {
status = LIBSPDM_STATUS_NEGOTIATION_FAIL;
goto receive_done;
}
Expand Down
4 changes: 2 additions & 2 deletions library/spdm_requester_lib/libspdm_req_psk_exchange.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Copyright Notice:
* Copyright 2021-2024 DMTF. All rights reserved.
* Copyright 2021-2025 DMTF. All rights reserved.
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
**/

Expand Down Expand Up @@ -223,7 +223,7 @@ static libspdm_return_t libspdm_try_send_receive_psk_exchange(
return LIBSPDM_STATUS_INVALID_STATE_LOCAL;
}
if (spdm_context->connection_info.algorithm.key_schedule !=
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH) {
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM) {
return LIBSPDM_STATUS_INVALID_STATE_LOCAL;
}
}
Expand Down
6 changes: 3 additions & 3 deletions library/spdm_responder_lib/libspdm_rsp_algorithms.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Copyright Notice:
* Copyright 2021-2024 DMTF. All rights reserved.
* Copyright 2021-2025 DMTF. All rights reserved.
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
**/

Expand Down Expand Up @@ -220,7 +220,7 @@ libspdm_return_t libspdm_get_response_algorithms(libspdm_context_t *spdm_context
};

uint32_t key_schedule_priority_table[] = {
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH,
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM,
};

uint32_t measurement_hash_priority_table[] = {
Expand Down Expand Up @@ -803,7 +803,7 @@ libspdm_return_t libspdm_get_response_algorithms(libspdm_context_t *spdm_context
SPDM_GET_CAPABILITIES_REQUEST_FLAGS_PSK_CAP,
SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_PSK_CAP)) {
if (spdm_context->connection_info.algorithm.key_schedule !=
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH) {
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM) {
return libspdm_generate_error_response(
spdm_context,
SPDM_ERROR_CODE_INVALID_REQUEST, 0,
Expand Down
4 changes: 2 additions & 2 deletions library/spdm_responder_lib/libspdm_rsp_psk_exchange.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* Copyright Notice:
* Copyright 2021-2024 DMTF. All rights reserved.
* Copyright 2021-2025 DMTF. All rights reserved.
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
**/

Expand Down Expand Up @@ -196,7 +196,7 @@ libspdm_return_t libspdm_get_response_psk_exchange(libspdm_context_t *spdm_conte
0, response_size, response);
}
if (spdm_context->connection_info.algorithm.key_schedule !=
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH) {
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM) {
return libspdm_generate_error_response(
spdm_context,
SPDM_ERROR_CODE_INVALID_REQUEST,
Expand Down
2 changes: 1 addition & 1 deletion unit_test/fuzzing/spdm_unit_fuzzing_common/algo.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ uint32_t m_libspdm_use_asym_algo =
uint16_t m_libspdm_use_req_asym_algo = SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_2048;
uint16_t m_libspdm_use_dhe_algo = SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_256_R1;
uint16_t m_libspdm_use_aead_algo = SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_256_GCM;
uint16_t m_libspdm_use_key_schedule_algo = SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH;
uint16_t m_libspdm_use_key_schedule_algo = SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM;
2 changes: 1 addition & 1 deletion unit_test/spdm_unit_test_common/algo.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ uint32_t m_libspdm_use_asym_algo =
uint16_t m_libspdm_use_req_asym_algo = SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_RSASSA_2048;
uint16_t m_libspdm_use_dhe_algo = SPDM_ALGORITHMS_DHE_NAMED_GROUP_SECP_256_R1;
uint16_t m_libspdm_use_aead_algo = SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_256_GCM;
uint16_t m_libspdm_use_key_schedule_algo = SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH;
uint16_t m_libspdm_use_key_schedule_algo = SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM;
uint8_t m_libspdm_use_tcb_hash_value[64] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A,
0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,10 +139,10 @@ void *spdm_client_init(void)
data16 = SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_2048;
libspdm_set_data(spdm_context, LIBSPDM_DATA_DHE_NAME_GROUP, &parameter,
&data16, sizeof(data16));
data16 = SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH;
data16 = SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM;
libspdm_set_data(spdm_context, LIBSPDM_DATA_AEAD_CIPHER_SUITE, &parameter,
&data16, sizeof(data16));
data16 = SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH;
data16 = SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM;
libspdm_set_data(spdm_context, LIBSPDM_DATA_KEY_SCHEDULE, &parameter, &data16,
sizeof(data16));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,10 @@ void *spdm_server_init(void)
data16 = SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_2048;
libspdm_set_data(spdm_context, LIBSPDM_DATA_DHE_NAME_GROUP, &parameter,
&data16, sizeof(data16));
data16 = SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH;
data16 = SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM;
libspdm_set_data(spdm_context, LIBSPDM_DATA_AEAD_CIPHER_SUITE, &parameter,
&data16, sizeof(data16));
data16 = SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH;
data16 = SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM;
libspdm_set_data(spdm_context, LIBSPDM_DATA_KEY_SCHEDULE, &parameter, &data16,
sizeof(data16));

Expand Down
2 changes: 1 addition & 1 deletion unit_test/test_spdm_common/context_data.c
Original file line number Diff line number Diff line change
Expand Up @@ -1485,7 +1485,7 @@ static void libspdm_test_max_session_count_case21(void **state)
spdm_context->connection_info.algorithm.aead_cipher_suite =
SPDM_ALGORITHMS_AEAD_CIPHER_SUITE_AES_256_GCM;
spdm_context->connection_info.algorithm.key_schedule =
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH;
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM;

libspdm_zero_mem(&parameter, sizeof(parameter));
parameter.location = LIBSPDM_DATA_LOCATION_LOCAL;
Expand Down
46 changes: 23 additions & 23 deletions unit_test/test_spdm_responder/algorithms.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ libspdm_negotiate_algorithms_request_spdm11_t m_libspdm_negotiate_algorithm_requ
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -131,7 +131,7 @@ libspdm_negotiate_algorithms_request_spdm11_t m_libspdm_negotiate_algorithm_requ
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -167,7 +167,7 @@ libspdm_negotiate_algorithms_request_spdm11_t m_libspdm_negotiate_algorithm_requ
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -203,7 +203,7 @@ libspdm_negotiate_algorithms_request_spdm11_t m_libspdm_negotiate_algorithm_requ
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -239,7 +239,7 @@ libspdm_negotiate_algorithms_request_spdm11_t m_libspdm_negotiate_algorithm_requ
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -275,7 +275,7 @@ libspdm_negotiate_algorithms_request_spdm11_t m_libspdm_negotiate_algorithm_requ
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -360,7 +360,7 @@ libspdm_negotiate_algorithms_request_spdm11_oversized_t m_libspdm_negotiate_algo
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -399,7 +399,7 @@ libspdm_negotiate_algorithms_request_spdm11_multiple_tables_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
},
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_DHE,
Expand All @@ -419,7 +419,7 @@ libspdm_negotiate_algorithms_request_spdm11_multiple_tables_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
},
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_DHE,
Expand All @@ -439,7 +439,7 @@ libspdm_negotiate_algorithms_request_spdm11_multiple_tables_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -479,7 +479,7 @@ libspdm_negotiate_algorithms_request_spdm11_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -521,7 +521,7 @@ libspdm_negotiate_algorithms_request_spdm11_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
},
}
};
Expand Down Expand Up @@ -562,7 +562,7 @@ libspdm_negotiate_algorithms_request_spdm11_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -600,7 +600,7 @@ libspdm_negotiate_algorithms_request_spdm11_t m_libspdm_negotiate_algorithm_requ
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -640,7 +640,7 @@ libspdm_negotiate_algorithms_request_spdm12_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -681,7 +681,7 @@ libspdm_negotiate_algorithms_request_spdm12_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -721,7 +721,7 @@ libspdm_negotiate_algorithms_request_spdm11_t m_libspdm_negotiate_algorithm_requ
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -763,7 +763,7 @@ libspdm_negotiate_algorithms_request_spdm12_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -800,7 +800,7 @@ libspdm_negotiate_algorithms_request_spdm12_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
},
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_AEAD,
Expand Down Expand Up @@ -852,7 +852,7 @@ libspdm_negotiate_algorithms_request_spdm12_more_algo_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
},
}
};
Expand Down Expand Up @@ -894,12 +894,12 @@ libspdm_negotiate_algorithms_request_spdm12_more_algo_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
},
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE + 1,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down Expand Up @@ -942,7 +942,7 @@ libspdm_negotiate_algorithms_request_spdm12_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down
2 changes: 1 addition & 1 deletion unit_test/test_spdm_responder/chunk_send_ack.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ libspdm_negotiate_algorithms_request_spdm_tables_t
{
SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE,
0x20,
SPDM_ALGORITHMS_KEY_SCHEDULE_HMAC_HASH
SPDM_ALGORITHMS_KEY_SCHEDULE_SPDM
}
}
};
Expand Down

0 comments on commit 3b0a2e8

Please sign in to comment.