diff --git a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/ReferenceManifestDetailsPageController.java b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/ReferenceManifestDetailsPageController.java index c95d7605..00e584ca 100644 --- a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/ReferenceManifestDetailsPageController.java +++ b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/ReferenceManifestDetailsPageController.java @@ -229,6 +229,13 @@ public class ReferenceManifestDetailsPageController data.put("pcUriGlobal", baseRim.getPcURIGlobal()); data.put("pcUriLocal", baseRim.getPcURILocal()); data.put("rimLinkHash", baseRim.getRimLinkHash()); + boolean hashLinked = false; + if (baseRim.getRimLinkHash() != null) { + ReferenceManifest rim = BaseReferenceManifest.select(referenceManifestManager) + .byHashCode(baseRim.getRimLinkHash()).getRIM(); + hashLinked = (rim != null); + } + data.put("linkHashValid", hashLinked); data.put("rimType", baseRim.getRimType()); List resources = baseRim.parseResource(); @@ -331,6 +338,18 @@ public class ReferenceManifestDetailsPageController .byManufacturer(support.getPlatformManufacturer()).getRIM(); } + if (support.isSwidPatch()) { + data.put("swidPatch", "True"); + } else { + data.put("swidPatch", "False"); + } + if (support.isSwidSupplemental()) { + data.put("swidSupplemental", "True"); + } else { + data.put("swidSupplemental", "False"); + } + data.put("swidBase", (!support.isSwidPatch() + && !support.isSwidSupplemental())); data.put("baseRim", support.getTagId()); data.put("associatedRim", support.getAssociatedRim()); data.put("rimType", support.getRimType()); @@ -355,14 +374,21 @@ public class ReferenceManifestDetailsPageController TCGEventLog measurementsProcess; if (measurements != null) { measurementsProcess = new TCGEventLog((measurements.getRimBytes())); + HashMap digestMap = new HashMap<>(); for (TpmPcrEvent tpe : logProcessor.getEventList()) { - if (!tpe.eventCompare( - measurementsProcess.getEventByNumber( - tpe.getEventNumber()))) { - tpe.setError(true); + digestMap.put(tpe.getEventDigestStr(), tpe); + if (!support.isSwidSupplemental()) { + if (!tpe.eventCompare( + measurementsProcess.getEventByNumber( + tpe.getEventNumber()))) { + tpe.setError(true); + } } tpmPcrEvents.add(tpe); } + for (TpmPcrEvent tpe : logProcessor.getEventList()) { + tpe.setError(!digestMap.containsKey(tpe.getEventDigestStr())); + } data.put("events", tpmPcrEvents); } else { data.put("events", logProcessor.getEventList()); diff --git a/HIRS_AttestationCAPortal/src/main/webapp/WEB-INF/jsp/rim-details.jsp b/HIRS_AttestationCAPortal/src/main/webapp/WEB-INF/jsp/rim-details.jsp index e0eeae21..b4cf5dc0 100644 --- a/HIRS_AttestationCAPortal/src/main/webapp/WEB-INF/jsp/rim-details.jsp +++ b/HIRS_AttestationCAPortal/src/main/webapp/WEB-INF/jsp/rim-details.jsp @@ -41,6 +41,24 @@ + +
+
+ RIM Type +
+
+ +
SWID Corpus
+
+ +
SWID Patch
+
+ +
SWID Supplemental
+
+
+
+
@@ -57,7 +75,7 @@
  • PC Client Boot path
  • -
    +
    • Software Core Root of Trust for Measurement (SRTM)
    • @@ -70,7 +88,7 @@
    • OS Kernel
    • -
      +
  • Device Configuration
  • @@ -90,7 +108,7 @@
  • Default boot device
  • -
    +
  • Secure Boot Variables
  • @@ -110,7 +128,7 @@
  • Forbidden Signatures Database (dbx)
  • -
    + @@ -134,7 +152,6 @@
  • OS Kernel
  • -
  • Device Configuration
  • @@ -173,7 +190,7 @@
  • Forbidden Signatures Database (dbx)
  • -
    + @@ -352,13 +369,24 @@
    Binding Spec: ${initialData.bindingSpec}
    Binding Spec Version: ${initialData.bindingSpecVersion}
    - +
    PC URI Global: ${initialData.pcUriGlobal}
    - +
    PC URI Local: ${initialData.pcUriLocal}
    -
    Rim Link Hash: ${initialData.rimLinkHash}
    +
    Rim Link Hash: ${initialData.rimLinkHash} + + + + + + + + + + +