Preserve messaging through AppraisalStatus object so that PCR mismatches display properly

This commit is contained in:
chubtub 2025-02-13 09:49:33 -05:00
parent 8484a829e0
commit 9ee23b6249

View File

@ -106,9 +106,11 @@ public class FirmwareScvValidator extends SupplyChainCredentialValidator {
if (passed) {
AppraisalStatus rimSignatureStatus = validateRimSignature(baseReferenceManifest,
caCredentialRepository, referenceManifestRepository);
fwStatus = rimSignatureStatus;
if (rimSignatureStatus.getAppStatus() == PASS) {
AppraisalStatus pcrStatus = validatePcrValues(device, hostName, baseReferenceManifest,
measurement, referenceDigestValueRepository, policySettings);
fwStatus = pcrStatus;
if (pcrStatus.getAppStatus() == PASS) {
EventLogMeasurements eventLog = measurement;
eventLog.setOverallValidationResult(PASS);
@ -126,7 +128,6 @@ public class FirmwareScvValidator extends SupplyChainCredentialValidator {
}
}
if (!passed) {
fwStatus = new AppraisalStatus(FAIL, failedString);
if (measurement != null) {
measurement.setOverallValidationResult(fwStatus.getAppStatus());
referenceManifestRepository.save(measurement);