mirror of
https://github.com/nsacyber/HIRS.git
synced 2024-12-19 21:17:59 +00:00
Updating the code to ignore 'Not Specified' and 'Unknown' as values for
Platform Version.
This commit is contained in:
parent
60dfb21c62
commit
039054b740
@ -39,11 +39,13 @@ import java.util.stream.Collectors;
|
||||
import static hirs.attestationca.persist.enums.AppraisalStatus.Status.ERROR;
|
||||
import static hirs.attestationca.persist.enums.AppraisalStatus.Status.FAIL;
|
||||
import static hirs.attestationca.persist.enums.AppraisalStatus.Status.PASS;
|
||||
import static hirs.attestationca.persist.enums.AppraisalStatus.Status.UNKNOWN;
|
||||
|
||||
@Log4j2
|
||||
public class CertificateAttributeScvValidator extends SupplyChainCredentialValidator {
|
||||
|
||||
private static List<ComponentResult> componentResultList = new LinkedList<>();
|
||||
private static final String LC_UNKNOWN = "unknown";
|
||||
|
||||
/**
|
||||
* Getter for the list of components to verify.
|
||||
@ -236,6 +238,8 @@ public class CertificateAttributeScvValidator extends SupplyChainCredentialValid
|
||||
|
||||
passesValidation &= fieldValidation;
|
||||
|
||||
if (!isNotSpecifiedOrUnknown(platformCredential.getVersion())
|
||||
&& !isNotSpecifiedOrUnknown(hardwareInfo.getVersion())) {
|
||||
fieldValidation = requiredPlatformCredentialFieldIsNonEmptyAndMatches(
|
||||
"PlatformVersion",
|
||||
platformCredential.getVersion(),
|
||||
@ -246,6 +250,7 @@ public class CertificateAttributeScvValidator extends SupplyChainCredentialValid
|
||||
}
|
||||
|
||||
passesValidation &= fieldValidation;
|
||||
}
|
||||
|
||||
// check PlatformSerial against both system-serial-number and baseboard-serial-number
|
||||
fieldValidation = (
|
||||
@ -1090,6 +1095,19 @@ public class CertificateAttributeScvValidator extends SupplyChainCredentialValid
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Per update to the provisioning via Issue 723, Not Specified and Unknown values
|
||||
* are to be ignored.
|
||||
* @param versionNumber string value of the device/platform version number
|
||||
* @return true if they equal Not Specified or Unknown
|
||||
*/
|
||||
public static boolean isNotSpecifiedOrUnknown(final String versionNumber) {
|
||||
String fieldValue = versionNumber.toLowerCase();
|
||||
|
||||
return fieldValue.equals(DeviceInfoEnums.NOT_SPECIFIED.toLowerCase())
|
||||
|| fieldValue.equals(LC_UNKNOWN);
|
||||
}
|
||||
|
||||
private static boolean platformCredentialFieldMatches(
|
||||
final String platformCredentialFieldName,
|
||||
final String platformCredentialFieldValue,
|
||||
|
Loading…
Reference in New Issue
Block a user