-
Notifications
You must be signed in to change notification settings - Fork 108
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
Certificate Shadow Slots #449
Comments
Would you please be more specific on what check is needed? |
That the public key algorithm of the leaf certificate returned in CERTIFICATE is the same as ALGORITHM.BaseAsymSel. Alternatively, this could be left entirely to the libspdm integrator; ie, after VCA the integrator determines the negotiated BaseAsymSel algorithm and only supplies certificates that are consistent with that algorithm. |
Ah, this is early detection before digital signature verification in CHALLENGE_AUTH or KEY_EXCHANGE. In case there is issue, it can be found earlier. |
Since this is now part of the specification, libspdm could force the integrator to specify the public key algorithm during libspdm_set_data(LIBSPDM_DATA_LOCAL_PUBLIC_CERT_CHAIN). libspdm would then check the slot's public key algorithm against BaseAsymSel during the DIGESTS and CERTIFICATE responses. This way libspdm can enforce the specification, rather than leaving it entirely to the integrator. |
It could be implementation change. No API change. Remove STABLE tag. |
According to the SPDM 1.2 specification (given below) the certificates returned by the Responder must be consistent with the negotiated ALGORITHMs, and apparently this also holds for 1.0 and 1.1, even though it was never explicitly stated in those specifications. libspdm does not comply with this, as it does not check the certificate type when processing a DIGESTS or CERTIFICATE response, technically making this a bug.
The text was updated successfully, but these errors were encountered: