diff --git a/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/certificate/CertQualificationAtTimeBlock.java b/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/certificate/CertQualificationAtTimeBlock.java index 18470e4bf3..957b0b63e0 100644 --- a/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/certificate/CertQualificationAtTimeBlock.java +++ b/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/certificate/CertQualificationAtTimeBlock.java @@ -233,7 +233,9 @@ protected void initChain() { TrustedServiceWrapper selectedTrustService = !filteredServices.isEmpty() ? filteredServices.get(0) : null; // 7. Trusted certificate matches the trust service properties ? - item = item.setNextItem(isTrustedCertificateMatchTrustService(selectedTrustService)); + if (selectedTrustService != null) { + item = item.setNextItem(isTrustedCertificateMatchTrustService(selectedTrustService)); + } // Keep only CA/QC and granted for further status determination if (!caqcServices.contains(selectedTrustService) || !grantedServices.contains(selectedTrustService)) { diff --git a/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/trust/TrustedServiceStatus.java b/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/trust/TrustedServiceStatus.java index 2d9da9aad5..0b4dc7264d 100644 --- a/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/trust/TrustedServiceStatus.java +++ b/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/trust/TrustedServiceStatus.java @@ -67,8 +67,7 @@ public enum TrustedServiceStatus { DEPRECATED_BY_NATIONAL_LAW("deprecated by national law", "http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/deprecatedbynationallaw", true, false), /** After eIDAS 'deprecatedatnationallevel' status */ - DEPRECATED_AT_NATIONAL_LEVEL("deprecated at national level", "http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/deprecatedatnationallevel", true, false), - ; + DEPRECATED_AT_NATIONAL_LEVEL("deprecated at national level", "http://uri.etsi.org/TrstSvc/TrustedList/Svcstatus/deprecatedatnationallevel", true, false); /** Identifier label */ private final String shortName; diff --git a/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/trust/consistency/TrustedServiceStatusPreEIDASConsistency.java b/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/trust/consistency/TrustedServiceStatusPreEIDASConsistency.java index 83b6f935f4..bc65ebcde9 100644 --- a/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/trust/consistency/TrustedServiceStatusPreEIDASConsistency.java +++ b/validation-policy/src/main/java/eu/europa/esig/dss/validation/process/qualification/trust/consistency/TrustedServiceStatusPreEIDASConsistency.java @@ -44,7 +44,8 @@ public boolean isConsistent(TrustedServiceWrapper trustedService) { Date startDate = trustedService.getStartDate(); if (EIDASUtils.isPreEIDAS(startDate)) { String status = trustedService.getStatus(); - return !TrustedServiceStatus.GRANTED.equals(status) && !TrustedServiceStatus.WITHDRAWN.equals(status); + return !TrustedServiceStatus.GRANTED.getUri().equals(status) && + !TrustedServiceStatus.WITHDRAWN.getUri().equals(status); } return true; }