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);