diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index eced5e7ce57..4e57a8b68de 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -47,8 +47,8 @@ jobs: - CLANG - ARM_GNU configurations: - - "-DLIBSPDM_ENABLE_CAPABILITY_CERT_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_CHAL_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_MEAS_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_KEY_EX_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_PSK_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_SET_CERT_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_CHUNK_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_ENCAP_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_CSR_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_HBEAT_CAP=1 -DLIBSPDM_RESPOND_IF_READY_SUPPORT=1 -DLIBSPDM_SEND_GET_CERTIFICATE_SUPPORT=1 -DLIBSPDM_SEND_CHALLENGE_SUPPORT=1" - - "-DLIBSPDM_ENABLE_CAPABILITY_CERT_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_CHAL_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_MEAS_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_KEY_EX_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_PSK_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_SET_CERT_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_CHUNK_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_ENCAP_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_CSR_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_HBEAT_CAP=0 -DLIBSPDM_RESPOND_IF_READY_SUPPORT=0 -DLIBSPDM_SEND_GET_CERTIFICATE_SUPPORT=0 -DLIBSPDM_SEND_CHALLENGE_SUPPORT=0" + - "-DLIBSPDM_ENABLE_CAPABILITY_CERT_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_CHAL_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_MEAS_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_KEY_EX_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_PSK_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_SET_CERT_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_CHUNK_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_ENCAP_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_CSR_CAP=1 -DLIBSPDM_ENABLE_CAPABILITY_HBEAT_CAP=1 -DLIBSPDM_RESPOND_IF_READY_SUPPORT=1 -DLIBSPDM_SEND_GET_CERTIFICATE_SUPPORT=1 -DLIBSPDM_SEND_CHALLENGE_SUPPORT=1 -DLIBSPDM_HAL_PASS_SPDM_CONTEXT=1" + - "-DLIBSPDM_ENABLE_CAPABILITY_CERT_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_CHAL_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_MEAS_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_KEY_EX_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_PSK_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_SET_CERT_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_CHUNK_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_ENCAP_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_CSR_CAP=0 -DLIBSPDM_ENABLE_CAPABILITY_HBEAT_CAP=0 -DLIBSPDM_RESPOND_IF_READY_SUPPORT=0 -DLIBSPDM_SEND_GET_CERTIFICATE_SUPPORT=0 -DLIBSPDM_SEND_CHALLENGE_SUPPORT=0 -DLIBSPDM_HAL_PASS_SPDM_CONTEXT=0" - "-DLIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT=0 -DLIBSPDM_FIPS_MODE=0 -DLIBSPDM_ENABLE_CAPABILITY_CSR_CAP_EX=0" - "-DLIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT=1 -DLIBSPDM_FIPS_MODE=1 -DLIBSPDM_ENABLE_CAPABILITY_CSR_CAP_EX=1" - "-DDISABLE_TESTS=1" diff --git a/include/hal/library/requester/reqasymsignlib.h b/include/hal/library/requester/reqasymsignlib.h index 252a62d8b34..f8348a38489 100644 --- a/include/hal/library/requester/reqasymsignlib.h +++ b/include/hal/library/requester/reqasymsignlib.h @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2023 DMTF. All rights reserved. + * Copyright 2023-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -14,6 +14,8 @@ /** * Sign an SPDM message data. * + * @param spdm_context A pointer to the SPDM context. + * @param spdm_version Indicates the negotiated s version. * @param req_base_asym_alg Indicates the signing algorithm. * @param base_hash_algo Indicates the hash algorithm. * @param is_data_hash Indicates the message type. @@ -31,6 +33,9 @@ * @retval false signing fail. **/ extern bool libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t op_code, uint16_t req_base_asym_alg, @@ -42,7 +47,8 @@ extern bool libspdm_requester_data_sign( /** * This functions returns the opaque data in a CHALLENGE_AUTH response. * - * @param spdm_version Indicates the negotiated s version. + * @param spdm_context A pointer to the SPDM context. + * @param spdm_version Indicates the negotiated s version. * * @param slot_id The number of slot for the certificate chain. * @@ -58,6 +64,9 @@ extern bool libspdm_requester_data_sign( * On output, indicates the size of the opaque data. **/ extern bool libspdm_encap_challenge_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t slot_id, uint8_t *measurement_summary_hash, diff --git a/include/hal/library/responder/asymsignlib.h b/include/hal/library/responder/asymsignlib.h index ff7ced3ad71..9b832f6050d 100644 --- a/include/hal/library/responder/asymsignlib.h +++ b/include/hal/library/responder/asymsignlib.h @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2023 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -16,7 +16,8 @@ /** * This functions returns the opaque data in a CHALLENGE_AUTH response. * - * @param spdm_version Indicates the negotiated s version. + * @param spdm_context A pointer to the SPDM context. + * @param spdm_version Indicates the negotiated s version. * * @param slot_id The number of slot for the certificate chain. * @@ -32,6 +33,9 @@ * On output, indicates the size of the opaque data. **/ extern bool libspdm_challenge_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t slot_id, uint8_t *measurement_summary_hash, @@ -43,6 +47,8 @@ extern bool libspdm_challenge_opaque_data( /** * Sign an SPDM message data. * + * @param spdm_context A pointer to the SPDM context. + * @param spdm_version Indicates the negotiated s version. * @param base_asym_algo Indicates the signing algorithm. * @param base_hash_algo Indicates the hash algorithm. * @param is_data_hash Indicate the message type. @@ -59,6 +65,9 @@ extern bool libspdm_challenge_opaque_data( * @retval false Signing fail. **/ extern bool libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t op_code, uint32_t base_asym_algo, uint32_t base_hash_algo, bool is_data_hash, diff --git a/include/hal/library/responder/csrlib.h b/include/hal/library/responder/csrlib.h index b640adcc6f5..8f77a13568c 100644 --- a/include/hal/library/responder/csrlib.h +++ b/include/hal/library/responder/csrlib.h @@ -16,6 +16,8 @@ /** * Gen CSR * + * @param[in] spdm_context A pointer to the SPDM context. + * * @param[in] base_hash_algo Indicates the hash algorithm. * @param[in] base_asym_algo Indicates the signing algorithm. * @param[in, out] need_reset For input, it gives the value of CERT_INSTALL_RESET_CAP: @@ -44,12 +46,16 @@ * @retval true Success. * @retval false Failed to gen CSR. **/ -extern bool libspdm_gen_csr(uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, - const void *request, size_t request_size, - uint8_t *requester_info, size_t requester_info_length, - uint8_t *opaque_data, uint16_t opaque_data_length, - size_t *csr_len, uint8_t *csr_pointer, - bool is_device_cert_model); +extern bool libspdm_gen_csr( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, + const void *request, size_t request_size, + uint8_t *requester_info, size_t requester_info_length, + uint8_t *opaque_data, uint16_t opaque_data_length, + size_t *csr_len, uint8_t *csr_pointer, + bool is_device_cert_model); /** * Gen CSR, which is uesd for SPDM 1.3 @@ -66,6 +72,8 @@ extern bool libspdm_gen_csr(uint32_t base_hash_algo, uint32_t base_asym_algo, bo * | Yes | 0 | Yes | - | ResetRequired | * | Yes | Non-0 | - | - | Invalid | * + * @param[in] spdm_context A pointer to the SPDM context. + * * @param[in] base_hash_algo Indicates the hash algorithm. * @param[in] base_asym_algo Indicates the signing algorithm. * @param[in, out] need_reset For input, it gives the value of CERT_INSTALL_RESET_CAP: @@ -101,15 +109,19 @@ extern bool libspdm_gen_csr(uint32_t base_hash_algo, uint32_t base_asym_algo, bo **/ #if LIBSPDM_ENABLE_CAPABILITY_CSR_CAP_EX -extern bool libspdm_gen_csr_ex(uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, - const void *request, size_t request_size, - uint8_t *requester_info, size_t requester_info_length, - uint8_t *opaque_data, uint16_t opaque_data_length, - size_t *csr_len, uint8_t *csr_pointer, - uint8_t req_cert_model, - uint8_t *req_csr_tracking_tag, - uint8_t req_key_pair_id, - bool overwrite); +extern bool libspdm_gen_csr_ex( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, + const void *request, size_t request_size, + uint8_t *requester_info, size_t requester_info_length, + uint8_t *opaque_data, uint16_t opaque_data_length, + size_t *csr_len, uint8_t *csr_pointer, + uint8_t req_cert_model, + uint8_t *req_csr_tracking_tag, + uint8_t req_key_pair_id, + bool overwrite); #endif /*LIBSPDM_ENABLE_CAPABILITY_CSR_CAP_EX*/ #endif /* LIBSPDM_ENABLE_CAPABILITY_CSR_CAP */ diff --git a/include/hal/library/responder/measlib.h b/include/hal/library/responder/measlib.h index be2b9c6fdfd..3ab749fd48a 100644 --- a/include/hal/library/responder/measlib.h +++ b/include/hal/library/responder/measlib.h @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2023 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -19,7 +19,8 @@ * libspdm will call this function to retrieve the measurements for a device. * The "measurement_index" parameter indicates the measurement requested. * - * @param spdm_version Indicates the negotiated SPDM version. + * @param spdm_context A pointer to the SPDM context. + * @param spdm_version Indicates the negotiated SPDM version. * * @param measurement_specification Indicates the measurement specification. * Must be a SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_* value in spdm.h. @@ -65,6 +66,9 @@ * The maximum size is SPDM_MAX_MEASUREMENT_RECORD_LENGTH (2^24 - 1 bytes). **/ extern libspdm_return_t libspdm_measurement_collection( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t measurement_specification, uint32_t measurement_hash_algo, @@ -81,7 +85,8 @@ extern libspdm_return_t libspdm_measurement_collection( * It is called immediately after libspdm_measurement_collection() is called and allows the opaque * data field to vary based on the GET_MEASUREMENTS request. * - * @param spdm_version Indicates the negotiated SPDM version. + * @param spdm_context A pointer to the SPDM context. + * @param spdm_version Indicates the negotiated SPDM version. * * @param measurement_specification Indicates the measurement specification. * Must be a SPDM_MEASUREMENT_BLOCK_HEADER_SPECIFICATION_* value in spdm.h. @@ -102,6 +107,9 @@ extern libspdm_return_t libspdm_measurement_collection( * On output, indicates the size of the opaque data. **/ extern bool libspdm_measurement_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t measurement_specification, uint32_t measurement_hash_algo, @@ -113,6 +121,7 @@ extern bool libspdm_measurement_opaque_data( /** * This function calculates the measurement summary hash. * + * @param spdm_context A pointer to the SPDM context. * @param spdm_version The SPDM version. * @param base_hash_algo The hash algo to use on summary. * @param measurement_specification Indicates the measurement specification. @@ -130,6 +139,9 @@ extern bool libspdm_measurement_opaque_data( * @retval false measurement summary hash is not generated. **/ extern bool libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint32_t base_hash_algo, uint8_t measurement_specification, diff --git a/include/hal/library/responder/setcertlib.h b/include/hal/library/responder/setcertlib.h index 42efc48b1c5..016e9a8e9bf 100644 --- a/include/hal/library/responder/setcertlib.h +++ b/include/hal/library/responder/setcertlib.h @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2023 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -16,16 +16,23 @@ /** * return if current code is running in a trusted environment. * + * @param[in] spdm_context A pointer to the SPDM context. + * * @retval true It is in a trusted environment. * @retval false It is not in a trusted environment. **/ -extern bool libspdm_is_in_trusted_environment(); +extern bool libspdm_is_in_trusted_environment( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context +#endif + ); /** * Stores or erase a certificate chain in non-volatile memory. * If the cert_chain is NULL and cert_chain_size is 0, * the feature is to erase the certificate chain. * + * @param[in] spdm_context A pointer to the SPDM context. * @param[in] slot_id The number of slot for the certificate chain. * @param[in] cert_chain The pointer for the certificate chain to set. * @param[in] cert_chain_size The size of the certificate chain to set. @@ -35,9 +42,13 @@ extern bool libspdm_is_in_trusted_environment(); * @retval true The certificate chain was successfully written to non-volatile memory. * @retval false Unable to write certificate chain to non-volatile memory. **/ -extern bool libspdm_write_certificate_to_nvm(uint8_t slot_id, const void * cert_chain, - size_t cert_chain_size, - uint32_t base_hash_algo, uint32_t base_asym_algo); +extern bool libspdm_write_certificate_to_nvm( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint8_t slot_id, const void * cert_chain, + size_t cert_chain_size, + uint32_t base_hash_algo, uint32_t base_asym_algo); #endif /* LIBSPDM_ENABLE_CAPABILITY_SET_CERT_CAP */ diff --git a/include/library/spdm_lib_config.h b/include/library/spdm_lib_config.h index 877dbcd9354..7db5634ec80 100644 --- a/include/library/spdm_lib_config.h +++ b/include/library/spdm_lib_config.h @@ -400,4 +400,10 @@ #define LIBSPDM_CHECK_SPDM_CONTEXT 1 #endif +/* Enable passing the SPDM context to HAL functions. + * This macro will be removed when libspdm 4.0 is released. */ +#ifndef LIBSPDM_HAL_PASS_SPDM_CONTEXT +#define LIBSPDM_HAL_PASS_SPDM_CONTEXT 0 +#endif + #endif /* SPDM_LIB_CONFIG_H */ diff --git a/library/spdm_common_lib/libspdm_com_crypto_service.c b/library/spdm_common_lib/libspdm_com_crypto_service.c index 7b93937eba1..8f71e78e71c 100644 --- a/library/spdm_common_lib/libspdm_com_crypto_service.c +++ b/library/spdm_common_lib/libspdm_com_crypto_service.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -785,12 +785,18 @@ bool libspdm_generate_challenge_auth_signature(libspdm_context_t *spdm_context, spdm_context->connection_info.algorithm.req_base_asym_alg); #if LIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT result = libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_CHALLENGE_AUTH, spdm_context->connection_info.algorithm.req_base_asym_alg, spdm_context->connection_info.algorithm.base_hash_algo, false, m1m2_buffer, m1m2_buffer_size, signature, &signature_size); #else result = libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_CHALLENGE_AUTH, spdm_context->connection_info.algorithm.req_base_asym_alg, spdm_context->connection_info.algorithm.base_hash_algo, @@ -804,6 +810,9 @@ bool libspdm_generate_challenge_auth_signature(libspdm_context_t *spdm_context, spdm_context->connection_info.algorithm.base_asym_algo); #if LIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT result = libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_CHALLENGE_AUTH, spdm_context->connection_info.algorithm.base_asym_algo, spdm_context->connection_info.algorithm.base_hash_algo, @@ -811,6 +820,9 @@ bool libspdm_generate_challenge_auth_signature(libspdm_context_t *spdm_context, &signature_size); #else result = libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_CHALLENGE_AUTH, spdm_context->connection_info.algorithm.base_asym_algo, spdm_context->connection_info.algorithm.base_hash_algo, diff --git a/library/spdm_requester_lib/libspdm_req_encap_challenge_auth.c b/library/spdm_requester_lib/libspdm_req_encap_challenge_auth.c index 121b3f1cc2f..129ca1d6585 100644 --- a/library/spdm_requester_lib/libspdm_req_encap_challenge_auth.c +++ b/library/spdm_requester_lib/libspdm_req_encap_challenge_auth.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -158,6 +158,9 @@ libspdm_return_t libspdm_get_encap_response_challenge_auth( measurement_summary_hash_size + sizeof(uint16_t); result = libspdm_encap_challenge_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif context->connection_info.version, slot_id, measurement_summary_hash, measurement_summary_hash_size, diff --git a/library/spdm_requester_lib/libspdm_req_finish.c b/library/spdm_requester_lib/libspdm_req_finish.c index 561f1a314d0..a9f92740312 100644 --- a/library/spdm_requester_lib/libspdm_req_finish.c +++ b/library/spdm_requester_lib/libspdm_req_finish.c @@ -300,12 +300,18 @@ bool libspdm_generate_finish_req_signature(libspdm_context_t *spdm_context, #if LIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT result = libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_FINISH, spdm_context->connection_info.algorithm.req_base_asym_alg, spdm_context->connection_info.algorithm.base_hash_algo, false, th_curr_data, th_curr_data_size, signature, &signature_size); #else result = libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_FINISH, spdm_context->connection_info.algorithm.req_base_asym_alg, spdm_context->connection_info.algorithm.base_hash_algo, diff --git a/library/spdm_responder_lib/libspdm_rsp_challenge_auth.c b/library/spdm_responder_lib/libspdm_rsp_challenge_auth.c index 3e2e27db94e..1820e9f3bd4 100644 --- a/library/spdm_responder_lib/libspdm_rsp_challenge_auth.c +++ b/library/spdm_responder_lib/libspdm_rsp_challenge_auth.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -222,6 +222,9 @@ libspdm_return_t libspdm_get_response_challenge_auth(libspdm_context_t *spdm_con spdm_context, false, 0, SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP)) { result = libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.base_hash_algo, spdm_context->connection_info.algorithm.measurement_spec, @@ -253,6 +256,9 @@ libspdm_return_t libspdm_get_response_challenge_auth(libspdm_context_t *spdm_con opaque_data_size = 0; } else { result = libspdm_challenge_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, slot_id, measurement_summary_hash, measurement_summary_hash_size, diff --git a/library/spdm_responder_lib/libspdm_rsp_csr.c b/library/spdm_responder_lib/libspdm_rsp_csr.c index dbfeb86c55e..388a251cb58 100644 --- a/library/spdm_responder_lib/libspdm_rsp_csr.c +++ b/library/spdm_responder_lib/libspdm_rsp_csr.c @@ -198,13 +198,17 @@ libspdm_return_t libspdm_get_response_csr(libspdm_context_t *spdm_context, response_size, response); } - result = libspdm_gen_csr_ex(spdm_context->connection_info.algorithm.base_hash_algo, - spdm_context->connection_info.algorithm.base_asym_algo, - &need_reset, request, request_size, - requester_info, requester_info_length, - opaque_data, opaque_data_length, - &csr_len, csr_p, req_cert_model, - &csr_tracking_tag, key_pair_id, overwrite); + result = libspdm_gen_csr_ex( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif + spdm_context->connection_info.algorithm.base_hash_algo, + spdm_context->connection_info.algorithm.base_asym_algo, + &need_reset, request, request_size, + requester_info, requester_info_length, + opaque_data, opaque_data_length, + &csr_len, csr_p, req_cert_model, + &csr_tracking_tag, key_pair_id, overwrite); #else return libspdm_generate_error_response( spdm_context, @@ -212,12 +216,16 @@ libspdm_return_t libspdm_get_response_csr(libspdm_context_t *spdm_context, response_size, response); #endif /*LIBSPDM_ENABLE_CAPABILITY_CSR_CAP_EX*/ } else { - result = libspdm_gen_csr(spdm_context->connection_info.algorithm.base_hash_algo, - spdm_context->connection_info.algorithm.base_asym_algo, - &need_reset, request, request_size, - requester_info, requester_info_length, - opaque_data, opaque_data_length, - &csr_len, csr_p, is_device_cert_model); + result = libspdm_gen_csr( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif + spdm_context->connection_info.algorithm.base_hash_algo, + spdm_context->connection_info.algorithm.base_asym_algo, + &need_reset, request, request_size, + requester_info, requester_info_length, + opaque_data, opaque_data_length, + &csr_len, csr_p, is_device_cert_model); } if (!result) { diff --git a/library/spdm_responder_lib/libspdm_rsp_key_exchange.c b/library/spdm_responder_lib/libspdm_rsp_key_exchange.c index 430396d0015..1d0e07134c1 100644 --- a/library/spdm_responder_lib/libspdm_rsp_key_exchange.c +++ b/library/spdm_responder_lib/libspdm_rsp_key_exchange.c @@ -149,12 +149,18 @@ bool libspdm_generate_key_exchange_rsp_signature(libspdm_context_t *spdm_context #if LIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT result = libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_KEY_EXCHANGE_RSP, spdm_context->connection_info.algorithm.base_asym_algo, spdm_context->connection_info.algorithm.base_hash_algo, false, th_curr_data, th_curr_data_size, signature, &signature_size); #else result = libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_KEY_EXCHANGE_RSP, spdm_context->connection_info.algorithm.base_asym_algo, spdm_context->connection_info.algorithm.base_hash_algo, @@ -498,6 +504,9 @@ libspdm_return_t libspdm_get_response_key_exchange(libspdm_context_t *spdm_conte spdm_context, false, 0, SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP)) { result = libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.base_hash_algo, spdm_context->connection_info.algorithm.measurement_spec, diff --git a/library/spdm_responder_lib/libspdm_rsp_measurements.c b/library/spdm_responder_lib/libspdm_rsp_measurements.c index b89a987ff43..1cf5241d9fd 100644 --- a/library/spdm_responder_lib/libspdm_rsp_measurements.c +++ b/library/spdm_responder_lib/libspdm_rsp_measurements.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -40,12 +40,18 @@ bool libspdm_generate_measurement_signature(libspdm_context_t *spdm_context, l1l2_buffer_size = libspdm_get_managed_buffer_size(&l1l2); result = libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_MEASUREMENTS, spdm_context->connection_info.algorithm.base_asym_algo, spdm_context->connection_info.algorithm.base_hash_algo, false, l1l2_buffer, l1l2_buffer_size, signature, &signature_size); #else result = libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, SPDM_MEASUREMENTS, spdm_context->connection_info.algorithm.base_asym_algo, spdm_context->connection_info.algorithm.base_hash_algo, @@ -233,6 +239,9 @@ libspdm_return_t libspdm_get_response_measurements(libspdm_context_t *spdm_conte measurements_size = meas_opaque_buffer_size; status = libspdm_measurement_collection( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.measurement_spec, spdm_context->connection_info.algorithm.measurement_hash_algo, @@ -276,6 +285,9 @@ libspdm_return_t libspdm_get_response_measurements(libspdm_context_t *spdm_conte opaque_data_size = meas_opaque_buffer_size - measurements_size; ret = libspdm_measurement_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.measurement_spec, spdm_context->connection_info.algorithm.measurement_hash_algo, diff --git a/library/spdm_responder_lib/libspdm_rsp_psk_exchange.c b/library/spdm_responder_lib/libspdm_rsp_psk_exchange.c index 7358641dd9c..95cf686f19e 100644 --- a/library/spdm_responder_lib/libspdm_rsp_psk_exchange.c +++ b/library/spdm_responder_lib/libspdm_rsp_psk_exchange.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -322,6 +322,9 @@ libspdm_return_t libspdm_get_response_psk_exchange(libspdm_context_t *spdm_conte spdm_context, false, 0, SPDM_GET_CAPABILITIES_RESPONSE_FLAGS_MEAS_CAP)) { result = libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.base_hash_algo, spdm_context->connection_info.algorithm.measurement_spec, diff --git a/library/spdm_responder_lib/libspdm_rsp_set_certificate.c b/library/spdm_responder_lib/libspdm_rsp_set_certificate.c index 4f0a0c9f2a0..d27bd47095c 100644 --- a/library/spdm_responder_lib/libspdm_rsp_set_certificate.c +++ b/library/spdm_responder_lib/libspdm_rsp_set_certificate.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -136,7 +136,11 @@ libspdm_return_t libspdm_get_response_set_certificate(libspdm_context_t *spdm_co response_size, response); } - if ((!libspdm_is_in_trusted_environment()) && + if ((!libspdm_is_in_trusted_environment( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context +#endif + )) && (slot_id != 0) && (!spdm_context->last_spdm_request_session_id_valid)) { return libspdm_generate_error_response(spdm_context, @@ -159,7 +163,11 @@ libspdm_return_t libspdm_get_response_set_certificate(libspdm_context_t *spdm_co } /* erase slot_id cert_chain*/ - result = libspdm_write_certificate_to_nvm(slot_id, NULL, 0, 0, 0); + result = libspdm_write_certificate_to_nvm( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif + slot_id, NULL, 0, 0, 0); if (!result) { return libspdm_generate_error_response(spdm_context, SPDM_ERROR_CODE_OPERATION_FAILED, 0, @@ -216,10 +224,14 @@ libspdm_return_t libspdm_get_response_set_certificate(libspdm_context_t *spdm_co #endif /*LIBSPDM_CERT_PARSE_SUPPORT*/ /* set certificate to NV*/ - result = libspdm_write_certificate_to_nvm(slot_id, cert_chain, - cert_chain_size, - spdm_context->connection_info.algorithm.base_hash_algo, - spdm_context->connection_info.algorithm.base_asym_algo); + result = libspdm_write_certificate_to_nvm( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif + slot_id, cert_chain, + cert_chain_size, + spdm_context->connection_info.algorithm.base_hash_algo, + spdm_context->connection_info.algorithm.base_asym_algo); if (!result) { return libspdm_generate_error_response(spdm_context, SPDM_ERROR_CODE_UNSPECIFIED, 0, diff --git a/os_stub/spdm_device_secret_lib_null/lib.c b/os_stub/spdm_device_secret_lib_null/lib.c index 4354985c04b..be6a6f15f5b 100644 --- a/os_stub/spdm_device_secret_lib_null/lib.c +++ b/os_stub/spdm_device_secret_lib_null/lib.c @@ -19,6 +19,9 @@ #if LIBSPDM_ENABLE_CAPABILITY_MEAS_CAP libspdm_return_t libspdm_measurement_collection( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t measurement_specification, uint32_t measurement_hash_algo, @@ -33,6 +36,9 @@ libspdm_return_t libspdm_measurement_collection( } bool libspdm_measurement_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t measurement_specification, uint32_t measurement_hash_algo, @@ -45,6 +51,9 @@ bool libspdm_measurement_opaque_data( } bool libspdm_challenge_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t slot_id, uint8_t *measurement_summary_hash, @@ -56,6 +65,9 @@ bool libspdm_challenge_opaque_data( } bool libspdm_encap_challenge_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t slot_id, uint8_t *measurement_summary_hash, @@ -67,6 +79,9 @@ bool libspdm_encap_challenge_opaque_data( } bool libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint32_t base_hash_algo, uint8_t measurement_specification, @@ -81,6 +96,9 @@ bool libspdm_generate_measurement_summary_hash( #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP bool libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t op_code, uint16_t req_base_asym_alg, uint32_t base_hash_algo, bool is_data_hash, @@ -92,6 +110,9 @@ bool libspdm_requester_data_sign( #endif /* LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP */ bool libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t op_code, uint32_t base_asym_algo, uint32_t base_hash_algo, bool is_data_hash, @@ -128,14 +149,22 @@ bool libspdm_psk_master_secret_hkdf_expand( #endif /* LIBSPDM_ENABLE_CAPABILITY_PSK_CAP */ #if LIBSPDM_ENABLE_CAPABILITY_SET_CERT_CAP -bool libspdm_is_in_trusted_environment() +bool libspdm_is_in_trusted_environment( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context +#endif + ) { return false; } -bool libspdm_write_certificate_to_nvm(uint8_t slot_id, const void * cert_chain, - size_t cert_chain_size, - uint32_t base_hash_algo, uint32_t base_asym_algo) +bool libspdm_write_certificate_to_nvm( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint8_t slot_id, const void * cert_chain, + size_t cert_chain_size, + uint32_t base_hash_algo, uint32_t base_asym_algo) { return false; } @@ -143,26 +172,34 @@ bool libspdm_write_certificate_to_nvm(uint8_t slot_id, const void * cert_chain, #endif /* LIBSPDM_ENABLE_CAPABILITY_SET_CERT_CAP */ #if LIBSPDM_ENABLE_CAPABILITY_CSR_CAP -bool libspdm_gen_csr(uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, - const void *request, size_t request_size, - uint8_t *requester_info, size_t requester_info_length, - uint8_t *opaque_data, uint16_t opaque_data_length, - size_t *csr_len, uint8_t *csr_pointer, - bool is_device_cert_model) +bool libspdm_gen_csr( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, + const void *request, size_t request_size, + uint8_t *requester_info, size_t requester_info_length, + uint8_t *opaque_data, uint16_t opaque_data_length, + size_t *csr_len, uint8_t *csr_pointer, + bool is_device_cert_model) { return false; } #if LIBSPDM_ENABLE_CAPABILITY_CSR_CAP_EX -bool libspdm_gen_csr_ex(uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, - const void *request, size_t request_size, - uint8_t *requester_info, size_t requester_info_length, - uint8_t *opaque_data, uint16_t opaque_data_length, - size_t *csr_len, uint8_t *csr_pointer, - uint8_t req_cert_model, - uint8_t *csr_tracking_tag, - uint8_t req_key_pair_id, - bool overwrite) +bool libspdm_gen_csr_ex( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, + const void *request, size_t request_size, + uint8_t *requester_info, size_t requester_info_length, + uint8_t *opaque_data, uint16_t opaque_data_length, + size_t *csr_len, uint8_t *csr_pointer, + uint8_t req_cert_model, + uint8_t *csr_tracking_tag, + uint8_t req_key_pair_id, + bool overwrite) { return false; } diff --git a/os_stub/spdm_device_secret_lib_sample/lib.c b/os_stub/spdm_device_secret_lib_sample/lib.c index 970cf54bf13..2bb656dc479 100644 --- a/os_stub/spdm_device_secret_lib_sample/lib.c +++ b/os_stub/spdm_device_secret_lib_sample/lib.c @@ -790,12 +790,16 @@ bool libspdm_gen_csr_without_reset(uint32_t base_hash_algo, uint32_t base_asym_a return result; } -bool libspdm_gen_csr(uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, - const void *request, size_t request_size, - uint8_t *requester_info, size_t requester_info_length, - uint8_t *opaque_data, uint16_t opaque_data_length, - size_t *csr_len, uint8_t *csr_pointer, - bool is_device_cert_model) +bool libspdm_gen_csr( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, + const void *request, size_t request_size, + uint8_t *requester_info, size_t requester_info_length, + uint8_t *opaque_data, uint16_t opaque_data_length, + size_t *csr_len, uint8_t *csr_pointer, + bool is_device_cert_model) { bool result; uint8_t *cached_last_csr_request; @@ -863,15 +867,19 @@ bool libspdm_gen_csr(uint32_t base_hash_algo, uint32_t base_asym_algo, bool *nee } #if LIBSPDM_ENABLE_CAPABILITY_CSR_CAP_EX -bool libspdm_gen_csr_ex(uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, - const void *request, size_t request_size, - uint8_t *requester_info, size_t requester_info_length, - uint8_t *opaque_data, uint16_t opaque_data_length, - size_t *csr_len, uint8_t *csr_pointer, - uint8_t req_cert_model, - uint8_t *req_csr_tracking_tag, - uint8_t req_key_pair_id, - bool overwrite) +bool libspdm_gen_csr_ex( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint32_t base_hash_algo, uint32_t base_asym_algo, bool *need_reset, + const void *request, size_t request_size, + uint8_t *requester_info, size_t requester_info_length, + uint8_t *opaque_data, uint16_t opaque_data_length, + size_t *csr_len, uint8_t *csr_pointer, + uint8_t req_cert_model, + uint8_t *req_csr_tracking_tag, + uint8_t req_key_pair_id, + bool overwrite) { bool result; uint8_t *cached_last_csr_request; @@ -1206,6 +1214,9 @@ size_t libspdm_fill_measurement_device_mode_block ( } libspdm_return_t libspdm_measurement_collection( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t measurement_specification, uint32_t measurement_hash_algo, @@ -1410,6 +1421,9 @@ libspdm_return_t libspdm_measurement_collection( size_t libspdm_secret_lib_meas_opaque_data_size; bool libspdm_measurement_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t measurement_specification, uint32_t measurement_hash_algo, @@ -1435,6 +1449,9 @@ bool libspdm_measurement_opaque_data( size_t libspdm_secret_lib_challenge_opaque_data_size; bool libspdm_challenge_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t slot_id, uint8_t *measurement_summary_hash, @@ -1457,6 +1474,9 @@ bool libspdm_challenge_opaque_data( } bool libspdm_encap_challenge_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t slot_id, uint8_t *measurement_summary_hash, @@ -1479,6 +1499,9 @@ bool libspdm_encap_challenge_opaque_data( } bool libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint32_t base_hash_algo, uint8_t measurement_specification, uint32_t measurement_hash_algo, uint8_t measurement_summary_hash_type, @@ -1509,6 +1532,9 @@ bool libspdm_generate_measurement_summary_hash( /* get all measurement data*/ device_measurement_size = sizeof(device_measurement); status = libspdm_measurement_collection( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_version, measurement_specification, measurement_hash_algo, 0xFF, /* Get all measurements*/ @@ -1600,6 +1626,9 @@ bool libspdm_generate_measurement_summary_hash( #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP bool libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t op_code, uint16_t req_base_asym_alg, uint32_t base_hash_algo, bool is_data_hash, @@ -1679,6 +1708,9 @@ bool libspdm_requester_data_sign( #endif /* LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP */ bool libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif spdm_version_number_t spdm_version, uint8_t op_code, uint32_t base_asym_algo, uint32_t base_hash_algo, bool is_data_hash, @@ -1879,14 +1911,22 @@ bool libspdm_psk_master_secret_hkdf_expand( #endif /* LIBSPDM_ENABLE_CAPABILITY_PSK_CAP */ #if LIBSPDM_ENABLE_CAPABILITY_SET_CERT_CAP -bool libspdm_is_in_trusted_environment() +bool libspdm_is_in_trusted_environment( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context +#endif + ) { return g_in_trusted_environment; } -bool libspdm_write_certificate_to_nvm(uint8_t slot_id, const void * cert_chain, - size_t cert_chain_size, - uint32_t base_hash_algo, uint32_t base_asym_algo) +bool libspdm_write_certificate_to_nvm( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + void *spdm_context, +#endif + uint8_t slot_id, const void * cert_chain, + size_t cert_chain_size, + uint32_t base_hash_algo, uint32_t base_asym_algo) { #if defined(_WIN32) || (defined(__clang__) && (defined (LIBSPDM_CPU_AARCH64) || \ defined(LIBSPDM_CPU_ARM))) diff --git a/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c b/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c index 2345e0af039..a206ff1605a 100644 --- a/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c +++ b/unit_test/fuzzing/test_requester/test_spdm_requester_challenge/challenge.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -101,11 +101,15 @@ libspdm_return_t libspdm_device_receive_message(void *spdm_context, size_t *resp (((spdm_response->header.spdm_version >> 4) & 0xF) >= 10)) { spdm_response->header.spdm_version = SPDM_MESSAGE_VERSION_12; } - libspdm_responder_data_sign(spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, - SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, - m_libspdm_use_hash_algo, false, - m_libspdm_local_buffer, m_libspdm_local_buffer_size, ptr, - &sig_size); + libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif + spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, + SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, + m_libspdm_use_hash_algo, false, + m_libspdm_local_buffer, m_libspdm_local_buffer_size, ptr, + &sig_size); ptr += sig_size; libspdm_transport_test_encode_message(spdm_context, NULL, false, false, spdm_response_size, diff --git a/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c b/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c index b712e8870e9..7672dad570a 100644 --- a/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c +++ b/unit_test/fuzzing/test_requester/test_spdm_requester_key_exchange/key_exchange.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -201,6 +201,9 @@ libspdm_return_t libspdm_device_receive_message(void *spdm_context, size_t *resp libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), libspdm_get_managed_buffer_size( diff --git a/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c b/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c index b83d3d8e25f..e9fd9695d04 100644 --- a/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c +++ b/unit_test/fuzzing/test_responder/test_spdm_responder_finish_rsp/finish_rsp.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -466,6 +466,9 @@ void libspdm_test_responder_finish_case8(void **State) #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_test_finish_request->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), diff --git a/unit_test/test_spdm_requester/challenge.c b/unit_test/test_spdm_requester/challenge.c index 0352b18ed89..264b4ad6f0e 100644 --- a/unit_test/test_spdm_requester/challenge.c +++ b/unit_test/test_spdm_requester/challenge.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -224,6 +224,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -301,6 +304,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -449,6 +455,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, @@ -611,6 +620,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, @@ -688,6 +700,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -780,6 +795,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -852,6 +870,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -924,6 +945,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -996,6 +1020,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -1071,6 +1098,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -1145,6 +1175,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_use_hash_algo), hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, hash_data, libspdm_get_hash_size ( @@ -1218,6 +1251,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -1324,6 +1360,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -1394,12 +1433,16 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( libspdm_get_hash_size(m_libspdm_use_hash_algo))); libspdm_dump_hex(hash_data, libspdm_get_hash_size(m_libspdm_use_hash_algo)); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); - libspdm_responder_data_sign(spdm_response->header.spdm_version << - SPDM_VERSION_NUMBER_SHIFT_BIT, - SPDM_CHALLENGE_AUTH, - m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, - false, m_libspdm_local_buffer, m_libspdm_local_buffer_size, - ptr, &sig_size); + libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif + spdm_response->header.spdm_version << + SPDM_VERSION_NUMBER_SHIFT_BIT, + SPDM_CHALLENGE_AUTH, + m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, + false, m_libspdm_local_buffer, m_libspdm_local_buffer_size, + ptr, &sig_size); ptr += sig_size; libspdm_transport_test_encode_message(spdm_context, NULL, false, @@ -1486,6 +1529,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1567,6 +1613,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1647,6 +1696,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size, hash_data); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -1769,6 +1821,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( m_libspdm_local_buffer_size += ((size_t)Ptr - (size_t)spdm_response); sig_size = libspdm_get_asym_signature_size (m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, m_libspdm_local_buffer, @@ -1850,6 +1905,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1935,6 +1993,9 @@ libspdm_return_t libspdm_requester_challenge_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, diff --git a/unit_test/test_spdm_requester/chunk_get.c b/unit_test/test_spdm_requester/chunk_get.c index b39282cbe94..9bc4a55a7cf 100644 --- a/unit_test/test_spdm_requester/chunk_get.c +++ b/unit_test/test_spdm_requester/chunk_get.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -212,6 +212,9 @@ void libspdm_requester_chunk_get_test_case3_build_challenge_response( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, diff --git a/unit_test/test_spdm_requester/error_test/get_measurements_err.c b/unit_test/test_spdm_requester/error_test/get_measurements_err.c index 22d5f3b2fd6..027e04fe46a 100644 --- a/unit_test/test_spdm_requester/error_test/get_measurements_err.c +++ b/unit_test/test_spdm_requester/error_test/get_measurements_err.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -506,6 +506,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -596,6 +599,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -755,6 +761,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, @@ -1197,6 +1206,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1762,6 +1774,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1861,6 +1876,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_get_hash_size(m_libspdm_use_hash_algo))); libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1960,6 +1978,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_get_hash_size(m_libspdm_use_hash_algo))); libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2057,6 +2078,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_get_hash_size(m_libspdm_use_hash_algo))); libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2445,6 +2469,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2606,6 +2633,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, diff --git a/unit_test/test_spdm_requester/error_test/key_exchange_err.c b/unit_test/test_spdm_requester/error_test/key_exchange_err.c index 0c4a30e249f..9d0407d157f 100644 --- a/unit_test/test_spdm_requester/error_test/key_exchange_err.c +++ b/unit_test/test_spdm_requester/error_test/key_exchange_err.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -477,6 +477,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -643,6 +646,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -881,6 +887,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1137,6 +1146,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1344,6 +1356,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1519,6 +1534,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1690,6 +1708,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1864,6 +1885,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2031,6 +2055,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2198,6 +2225,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2374,6 +2404,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2542,6 +2575,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2715,6 +2751,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2871,6 +2910,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3038,6 +3080,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3206,6 +3251,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3374,6 +3422,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3542,6 +3593,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3711,6 +3765,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3880,6 +3937,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4049,6 +4109,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4202,6 +4265,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -4367,6 +4433,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4535,6 +4604,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, diff --git a/unit_test/test_spdm_requester/get_certificate.c b/unit_test/test_spdm_requester/get_certificate.c index eb5edc6e9b0..c093a3d1575 100644 --- a/unit_test/test_spdm_requester/get_certificate.c +++ b/unit_test/test_spdm_requester/get_certificate.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -1870,6 +1870,9 @@ libspdm_return_t libspdm_requester_get_certificate_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, diff --git a/unit_test/test_spdm_requester/get_measurements.c b/unit_test/test_spdm_requester/get_measurements.c index 7cf196c6626..32bafaef46d 100644 --- a/unit_test/test_spdm_requester/get_measurements.c +++ b/unit_test/test_spdm_requester/get_measurements.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -555,6 +555,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -641,6 +644,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -800,6 +806,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, @@ -974,6 +983,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, @@ -1365,6 +1377,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1455,6 +1470,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2024,6 +2042,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2123,6 +2144,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_get_hash_size(m_libspdm_use_hash_algo))); libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2222,6 +2246,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_get_hash_size(m_libspdm_use_hash_algo))); libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2319,6 +2346,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_get_hash_size(m_libspdm_use_hash_algo))); libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2707,6 +2737,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2865,6 +2898,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2983,6 +3019,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3120,6 +3159,9 @@ static libspdm_return_t libspdm_requester_get_measurements_test_receive_message( libspdm_dump_hex(m_libspdm_local_buffer, m_libspdm_local_buffer_size); sig_size = libspdm_get_asym_signature_size(m_libspdm_use_asym_algo); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_MEASUREMENTS, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, diff --git a/unit_test/test_spdm_requester/key_exchange.c b/unit_test/test_spdm_requester/key_exchange.c index 71007cd8036..dd00be17afa 100644 --- a/unit_test/test_spdm_requester/key_exchange.c +++ b/unit_test/test_spdm_requester/key_exchange.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -495,6 +495,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -661,6 +664,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -899,6 +905,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1155,6 +1164,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1362,6 +1374,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1537,6 +1552,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1712,6 +1730,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -1888,6 +1909,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2055,6 +2079,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2222,6 +2249,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2398,6 +2428,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2566,6 +2599,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2725,6 +2761,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -2861,6 +2900,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3028,6 +3070,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3195,6 +3240,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3363,6 +3411,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3521,6 +3572,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3680,6 +3734,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -3849,6 +3906,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4018,6 +4078,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4187,6 +4250,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4340,6 +4406,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -4505,6 +4574,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4663,6 +4735,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4829,6 +4904,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, @@ -4996,6 +5074,9 @@ static libspdm_return_t libspdm_requester_key_exchange_test_receive_message( libspdm_get_managed_buffer_size(&th_curr), hash_data); free(data); libspdm_responder_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_KEY_EXCHANGE_RSP, m_libspdm_use_asym_algo, m_libspdm_use_hash_algo, diff --git a/unit_test/test_spdm_responder/encap_challenge.c b/unit_test/test_spdm_responder/encap_challenge.c index 9e3b704537f..8fc030562c0 100644 --- a/unit_test/test_spdm_responder/encap_challenge.c +++ b/unit_test/test_spdm_responder/encap_challenge.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -81,6 +81,9 @@ void libspdm_test_responder_encap_challenge_case1(void **state) ptr += sizeof(uint16_t); libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, @@ -356,6 +359,9 @@ void libspdm_test_responder_encap_challenge_case5(void **state) ptr += sizeof(uint16_t); libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, @@ -449,6 +455,9 @@ void libspdm_test_responder_encap_challenge_case6(void **state) ptr += SPDM_REQ_CONTEXT_SIZE; libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_response->header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_CHALLENGE_AUTH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, diff --git a/unit_test/test_spdm_responder/finish.c b/unit_test/test_spdm_responder/finish.c index f4f7a51a519..29e5fddece4 100644 --- a/unit_test/test_spdm_responder/finish.c +++ b/unit_test/test_spdm_responder/finish.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -929,6 +929,9 @@ void libspdm_test_responder_finish_case8(void **state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request3.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -1632,6 +1635,9 @@ void libspdm_test_responder_finish_case15(void **state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request3.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -1789,6 +1795,9 @@ void libspdm_test_responder_finish_case16(void **state) libspdm_get_managed_buffer_size(&th_curr), random_buffer); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request3.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, random_buffer, hash_size, ptr, &req_asym_signature_size); @@ -2038,6 +2047,9 @@ void libspdm_test_responder_finish_case18(void **state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request4.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, @@ -2203,6 +2215,9 @@ void libspdm_test_responder_finish_case19(void **state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request5.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -2370,6 +2385,9 @@ void libspdm_test_responder_finish_case20(void **state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request7.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -2650,6 +2668,9 @@ void libspdm_test_responder_finish_case22(void **state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request7.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -2814,6 +2835,9 @@ void libspdm_test_responder_finish_case23(void** state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request7.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -2978,6 +3002,9 @@ void libspdm_test_responder_finish_case24(void** state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request7.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -3142,6 +3169,9 @@ void libspdm_test_responder_finish_case25(void** state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request7.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -3304,6 +3334,9 @@ void libspdm_test_responder_finish_case26(void** state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request7.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -3472,6 +3505,9 @@ void libspdm_test_responder_finish_case27(void** state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request7.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), @@ -3640,6 +3676,9 @@ void libspdm_test_responder_finish_case28(void** state) sizeof(spdm_finish_request_t)); #if LIBSPDM_ENABLE_CAPABILITY_MUT_AUTH_CAP libspdm_requester_data_sign( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif m_libspdm_finish_request7.header.spdm_version << SPDM_VERSION_NUMBER_SHIFT_BIT, SPDM_FINISH, m_libspdm_use_req_asym_algo, m_libspdm_use_hash_algo, false, libspdm_get_managed_buffer(&th_curr), diff --git a/unit_test/test_spdm_responder/key_exchange.c b/unit_test/test_spdm_responder/key_exchange.c index 5a21beb067b..0c4343acd11 100644 --- a/unit_test/test_spdm_responder/key_exchange.c +++ b/unit_test/test_spdm_responder/key_exchange.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -793,6 +793,9 @@ void libspdm_test_responder_key_exchange_case8(void **state) measurement_summary_hash_size = libspdm_get_measurement_summary_hash_size( spdm_context, false, m_libspdm_key_exchange_request3.header.param1); libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.base_hash_algo, spdm_context->connection_info.algorithm.measurement_spec, @@ -904,6 +907,9 @@ void libspdm_test_responder_key_exchange_case9(void **state) measurement_summary_hash_size = libspdm_get_measurement_summary_hash_size( spdm_context, false, m_libspdm_key_exchange_request4.header.param1); libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.base_hash_algo, spdm_context->connection_info.algorithm.measurement_spec, diff --git a/unit_test/test_spdm_responder/measurements.c b/unit_test/test_spdm_responder/measurements.c index f5e64c93fde..b62749408ca 100644 --- a/unit_test/test_spdm_responder/measurements.c +++ b/unit_test/test_spdm_responder/measurements.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -1680,6 +1680,9 @@ void libspdm_test_responder_measurements_case27(void **state) expect_opaque_data_size = sizeof(expect_opaque_data); libspdm_measurement_collection( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.measurement_spec, spdm_context->connection_info.algorithm.measurement_hash_algo, @@ -1691,6 +1694,9 @@ void libspdm_test_responder_measurements_case27(void **state) &expect_measurement_record_data_length); libspdm_measurement_opaque_data( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.measurement_spec, spdm_context->connection_info.algorithm.measurement_hash_algo, diff --git a/unit_test/test_spdm_responder/psk_exchange.c b/unit_test/test_spdm_responder/psk_exchange.c index 41305de8408..c4a576e2654 100644 --- a/unit_test/test_spdm_responder/psk_exchange.c +++ b/unit_test/test_spdm_responder/psk_exchange.c @@ -1,6 +1,6 @@ /** * Copyright Notice: - * Copyright 2021-2022 DMTF. All rights reserved. + * Copyright 2021-2024 DMTF. All rights reserved. * License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md **/ @@ -1003,6 +1003,9 @@ void libspdm_test_responder_psk_exchange_case10(void **state) measurement_summary_hash_size = libspdm_get_measurement_summary_hash_size( spdm_context, false, m_libspdm_psk_exchange_request4.header.param1); libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.base_hash_algo, spdm_context->connection_info.algorithm.measurement_spec, @@ -1120,6 +1123,9 @@ void libspdm_test_responder_psk_exchange_case11(void **state) measurement_summary_hash_size = libspdm_get_measurement_summary_hash_size( spdm_context, false, m_libspdm_psk_exchange_request5.header.param1); libspdm_generate_measurement_summary_hash( +#if LIBSPDM_HAL_PASS_SPDM_CONTEXT + spdm_context, +#endif spdm_context->connection_info.version, spdm_context->connection_info.algorithm.base_hash_algo, spdm_context->connection_info.algorithm.measurement_spec,