From 55dd9e2c901b4a2a3700db76fa92998463dd56b7 Mon Sep 17 00:00:00 2001 From: Cyrus <24922493+cyrus-dev@users.noreply.github.com> Date: Wed, 28 Feb 2024 16:02:24 -0500 Subject: [PATCH] Corrections to the code. DeviceInfoReport was set up improperly --- .../certificate/ComponentResult.java | 5 ++--- .../attributes/ComponentAttributeResult.java | 1 + .../userdefined/report/DeviceInfoReport.java | 20 +++++++------------ .../provision/IdentityClaimProcessor.java | 7 ++++++- .../CertificateAttributeScvValidator.java | 8 ++++---- .../AttestationCertificateAuthorityTest.java | 2 +- 6 files changed, 21 insertions(+), 22 deletions(-) diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/certificate/ComponentResult.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/certificate/ComponentResult.java index 83d83e72..5874d01e 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/certificate/ComponentResult.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/certificate/ComponentResult.java @@ -68,9 +68,8 @@ public class ComponentResult extends ArchivableEntity { this.model = componentIdentifier.getComponentModel().toString(); this.serialNumber = componentIdentifier.getComponentSerial().toString(); this.revisionNumber = componentIdentifier.getComponentRevision().toString(); - if (componentIdentifier.getFieldReplaceable() != null) { - this.fieldReplaceable = componentIdentifier.getFieldReplaceable().isTrue(); - } + this.fieldReplaceable = componentIdentifier.getFieldReplaceable().isTrue(); + StringBuilder sb = new StringBuilder(); for (ComponentAddress element : componentIdentifier.getComponentAddress()) { sb.append(String.format("%s:%s;", element.getAddressTypeValue(), diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/certificate/attributes/ComponentAttributeResult.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/certificate/attributes/ComponentAttributeResult.java index d89b7464..cc5ccc11 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/certificate/attributes/ComponentAttributeResult.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/certificate/attributes/ComponentAttributeResult.java @@ -19,6 +19,7 @@ import java.util.UUID; public class ComponentAttributeResult extends ArchivableEntity { private UUID componentId; + private UUID validationId; private String expectedValue; private String actualValue; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/report/DeviceInfoReport.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/report/DeviceInfoReport.java index 7088912a..04102611 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/report/DeviceInfoReport.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/entity/userdefined/report/DeviceInfoReport.java @@ -14,6 +14,7 @@ import jakarta.persistence.Entity; import jakarta.persistence.Transient; import jakarta.xml.bind.annotation.XmlElement; import lombok.Getter; +import lombok.NoArgsConstructor; import lombok.Setter; import lombok.extern.log4j.Log4j2; @@ -27,6 +28,7 @@ import java.util.Objects; * OS, and TPM information. */ @Log4j2 +@NoArgsConstructor @Getter @Entity public class DeviceInfoReport extends AbstractEntity implements Serializable { @@ -60,14 +62,6 @@ public class DeviceInfoReport extends AbstractEntity implements Serializable { @Transient private String paccorOutputString; - /** - * This constructor is used to populate the inner variables with blank entries so that - * a request on a blank object isn't null. - */ - public DeviceInfoReport() { - this(null, null, null, null, null); - } - /** * Constructor used to create a DeviceInfoReport. The * information cannot be changed after the DeviceInfoReport is @@ -202,7 +196,7 @@ public class DeviceInfoReport extends AbstractEntity implements Serializable { return hardwareInfo; } - private void setNetworkInfo(NetworkInfo networkInfo) { + private void setNetworkInfo(final NetworkInfo networkInfo) { if (networkInfo == null) { log.error("NetworkInfo cannot be null"); throw new NullPointerException("network info"); @@ -210,7 +204,7 @@ public class DeviceInfoReport extends AbstractEntity implements Serializable { this.networkInfo = networkInfo; } - private void setOSInfo(OSInfo osInfo) { + private void setOSInfo(final OSInfo osInfo) { if (osInfo == null) { log.error("OSInfo cannot be null"); throw new NullPointerException("os info"); @@ -218,7 +212,7 @@ public class DeviceInfoReport extends AbstractEntity implements Serializable { this.osInfo = osInfo; } - private void setFirmwareInfo(FirmwareInfo firmwareInfo) { + private void setFirmwareInfo(final FirmwareInfo firmwareInfo) { if (firmwareInfo == null) { log.error("FirmwareInfo cannot be null"); throw new NullPointerException("firmware info"); @@ -226,7 +220,7 @@ public class DeviceInfoReport extends AbstractEntity implements Serializable { this.firmwareInfo = firmwareInfo; } - private void setHardwareInfo(HardwareInfo hardwareInfo) { + private void setHardwareInfo(final HardwareInfo hardwareInfo) { if (hardwareInfo == null) { log.error("HardwareInfo cannot be null"); throw new NullPointerException("hardware info"); @@ -234,7 +228,7 @@ public class DeviceInfoReport extends AbstractEntity implements Serializable { this.hardwareInfo = hardwareInfo; } - private void setTPMInfo(TPMInfo tpmInfo) { + private void setTPMInfo(final TPMInfo tpmInfo) { this.tpmInfo = tpmInfo; } diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/provision/IdentityClaimProcessor.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/provision/IdentityClaimProcessor.java index f6d61de6..c50b3f3c 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/provision/IdentityClaimProcessor.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/provision/IdentityClaimProcessor.java @@ -258,7 +258,12 @@ public class IdentityClaimProcessor extends AbstractProcessor { log.info("Processing Device Info Report"); // store device and device info report. - Device device = this.deviceRepository.findByName(deviceInfoReport.getNetworkInfo().getHostname()); + Device device = null; + if (deviceInfoReport.getNetworkInfo() != null + && deviceInfoReport.getNetworkInfo().getHostname() != null + && !deviceInfoReport.getNetworkInfo().getHostname().isEmpty()) { + device = this.deviceRepository.findByName(deviceInfoReport.getNetworkInfo().getHostname()); + } if (device == null) { device = new Device(deviceInfoReport); } diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/validation/CertificateAttributeScvValidator.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/validation/CertificateAttributeScvValidator.java index 10dece2f..a1ea00b5 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/validation/CertificateAttributeScvValidator.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/validation/CertificateAttributeScvValidator.java @@ -287,10 +287,10 @@ public class CertificateAttributeScvValidator extends SupplyChainCredentialValid // There is no need to do comparisons with components that are invalid because // they did not have a manufacturer or model. - List validPcComponents = allPcComponents.stream() - .filter(identifier -> identifier.getComponentManufacturer() != null - && identifier.getComponentModel() != null) - .collect(Collectors.toList()); +// List validPcComponents = allPcComponents.stream() +// .filter(identifier -> identifier.getComponentManufacturer() != null +// && identifier.getComponentModel() != null) +// .collect(Collectors.toList()); // String paccorOutputString = deviceInfoReport.getPaccorOutputString(); // String unmatchedComponents; diff --git a/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/AttestationCertificateAuthorityTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/AttestationCertificateAuthorityTest.java index d86388c6..2d1e64c9 100644 --- a/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/AttestationCertificateAuthorityTest.java +++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/persist/AttestationCertificateAuthorityTest.java @@ -146,7 +146,7 @@ public class AttestationCertificateAuthorityTest { //BeforeTest aca = new AttestationCertificateAuthority(null, keyPair.getPrivate(), - null, null, null, null, null, null, 1, + null, null, null, null, null, null, null, 1, null, null, null, null) { }; abstractProcessor = new AccessAbstractProcessor(keyPair.getPrivate(),1);