Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SPDM 1.3] The responder should be able to generate one DIGESTS response matching with the state Exists with key. #2493

Open
Zhiqiang520 opened this issue Dec 26, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@Zhiqiang520
Copy link
Contributor

The responder should be able to generate one DIGESTS response matching with the state Exists with key.

  1. Certificate slots have one state named 3. Exists with key that can be reported in the DIGESTS response.
    Refer to the paragraph 366 In DSP0274_1.3.0.pdf.
    image
    Refer to the paragraph 369 Table 35 — Successful DIGESTS response message format In DSP0274_1.3.0.pdf.
    image

  2. But the responder will never generate one DIGESTS response matching with the above state 3. Exists with key:
    spdm_context->local_context.local_cert_chain_provision[index] = NULL
    spdm_response->header.param2 |= (1 << index)
    spdm_context->local_context.local_cert_info[index] = SPDM_CERTIFICATE_INFO_CERT_MODEL_NONE
    digest[hash_size * slot_index] be all zeros.

slot_index = 0;
for (index = 0; index < SPDM_MAX_SLOT_COUNT; index++) {
if (spdm_context->local_context
.local_cert_chain_provision[index] != NULL) {
spdm_response->header.param2 |= (1 << index);
result = libspdm_generate_cert_chain_hash(spdm_context, index,
&digest[hash_size * slot_index]);
if ((spdm_request->header.spdm_version >= SPDM_MESSAGE_VERSION_13) &&
spdm_context->connection_info.multi_key_conn_rsp) {
key_pair_id[slot_index] = spdm_context->local_context.local_key_pair_id[index];
cert_info[slot_index] = spdm_context->local_context.local_cert_info[index];
key_usage_bit_mask[slot_index] =
spdm_context->local_context.local_key_usage_bit_mask[index];
}
slot_index++;
if (!result) {
return libspdm_generate_error_response(
spdm_context, SPDM_ERROR_CODE_UNSPECIFIED,
0, response_size, response);
}
}
}

@jyao1 jyao1 self-assigned this Dec 27, 2023
@jyao1
Copy link
Member

jyao1 commented Jan 2, 2024

This seems a new feature request.

@jyao1 jyao1 assigned Zhiqiang520 and unassigned jyao1 Jan 2, 2024
@jyao1 jyao1 added the enhancement New feature or request label Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants