From 3c2df822f6911016ea9ae191ffce80831b84e302 Mon Sep 17 00:00:00 2001 From: chubtub <43381989+chubtub@users.noreply.github.com> Date: Fri, 17 Jan 2025 11:36:49 -0500 Subject: [PATCH] Print error messages to log and ACA frontend --- .../persist/validation/FirmwareScvValidator.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/validation/FirmwareScvValidator.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/validation/FirmwareScvValidator.java index c7ac85ec3..8fb45ed88 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/validation/FirmwareScvValidator.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/validation/FirmwareScvValidator.java @@ -59,6 +59,7 @@ public static AppraisalStatus validateFirmware( String hostName = device.getDeviceInfo().getNetworkInfo().getHostname(); BaseReferenceManifest baseReferenceManifest = null; EventLogMeasurements measurement = null; + log.info("Validating firmware..."); // This block was looking for a base RIM matching the device name // The base rim might not have a device name associated with it- i.e. if it's uploaded to the ACA @@ -114,15 +115,19 @@ public static AppraisalStatus validateFirmware( referenceManifestRepository.save(eventLog); fwStatus = new AppraisalStatus(PASS, SupplyChainCredentialValidator.FIRMWARE_VALID); } else { + failedString = pcrStatus.getMessage(); + log.warn("PCR value validation failed: " + failedString); passed = false; } } else { + failedString = rimSignatureStatus.getMessage(); + log.warn("RIM signature validation failed: " + failedString); passed = false; } } if (!passed) { fwStatus = new AppraisalStatus(FAIL, String.format("Firmware Validation failed: " - + "%s for %s can not be found", failedString, hostName)); + + "%s for %s cannot be found", failedString, hostName)); if (measurement != null) { measurement.setOverallValidationResult(fwStatus.getAppStatus()); referenceManifestRepository.save(measurement); @@ -139,6 +144,7 @@ private static AppraisalStatus validateRimSignature( baseReferenceManifest.getFileResources(); AppraisalStatus rimSignatureStatus = new AppraisalStatus(PASS, "RIM signature valid."); boolean passed = true; + log.info("Validating RIM signature..."); // verify signatures ReferenceManifestValidator referenceManifestValidator = @@ -246,6 +252,8 @@ private static AppraisalStatus validatePcrValues( String[] baseline = new String[Integer.SIZE]; TCGEventLog logProcessor; AppraisalStatus pcrAppraisalStatus = new AppraisalStatus(PASS, "PCR values validated."); + log.info("Validating PCR values..."); + try { logProcessor = new TCGEventLog(supportReferenceManifest.getRimBytes()); baseline = logProcessor.getExpectedPCRValues();