From 04b050de156ef08aa7167e4436a4e07e34f6d64d Mon Sep 17 00:00:00 2001 From: Cyrus <24922493+cyrus-dev@users.noreply.github.com> Date: Wed, 10 Nov 2021 09:50:17 -0500 Subject: [PATCH] The rimlinkhash meta information wasn't linking up with the associated swidtag. This is because the wrong hash look up was being used. Previously when the hexDecHash and base64Hash were implemented, the main focus was on the rimel and not the swidtag. --- .../ReferenceManifestDetailsPageController.java | 16 +++++++--------- .../src/main/webapp/WEB-INF/jsp/rim-details.jsp | 2 +- .../hirs/data/persist/BaseReferenceManifest.java | 10 ++++++++++ 3 files changed, 18 insertions(+), 10 deletions(-) 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 7fe9308f..2768c94a 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 @@ -231,13 +231,11 @@ public class ReferenceManifestDetailsPageController data.put("entityThumbprint", baseRim.getEntityThumbprint()); // Link data.put("linkHref", baseRim.getLinkHref()); + data.put("linkHrefLink", ""); for (BaseReferenceManifest bRim : BaseReferenceManifest .select(referenceManifestManager).getRIMs()) { if (baseRim.getLinkHref().contains(bRim.getTagId())) { - data.put("linkHrefLink", bRim.getId().toString()); - break; - } else { - data.put("linkHrefLink", ""); + data.put("linkHrefLink", bRim.getId()); } } data.put("linkRel", baseRim.getLinkRel()); @@ -255,16 +253,16 @@ 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) - .byBase64Hash(baseRim.getRimLinkHash()).getRIM(); - hashLinked = (rim != null); - if (hashLinked) { + .byHexDecHash(baseRim.getRimLinkHash()).getRIM(); + if (rim != null) { data.put("rimLinkId", rim.getId()); + data.put("linkHashValid", true); + } else { + data.put("linkHashValid", false); } } - data.put("linkHashValid", hashLinked); data.put("rimType", baseRim.getRimType()); List resources = baseRim.parseResource(); 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 7c285d07..d63a48b8 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 @@ -371,7 +371,7 @@
- + ${initialData.linkHref} diff --git a/HIRS_Utils/src/main/java/hirs/data/persist/BaseReferenceManifest.java b/HIRS_Utils/src/main/java/hirs/data/persist/BaseReferenceManifest.java index 0a260bdd..1ca317b3 100644 --- a/HIRS_Utils/src/main/java/hirs/data/persist/BaseReferenceManifest.java +++ b/HIRS_Utils/src/main/java/hirs/data/persist/BaseReferenceManifest.java @@ -130,6 +130,16 @@ public class BaseReferenceManifest extends ReferenceManifest { setFieldValue(BASE_64_HASH_FIELD, base64Hash); return this; } + + /** + * Specify the RIM hash associated with the base RIM. + * @param hexDecHash the hash of the file associated with the rim + * @return this instance + */ + public Selector byHexDecHash(final String hexDecHash) { + setFieldValue(HEX_DEC_HASH_FIELD, hexDecHash); + return this; + } } /**