package eu.europa.esig.dss.validation.process.qmatrix.qualification.checks.consistency;
import java.util.Date;
import java.util.List;
import eu.europa.esig.dss.validation.process.qmatrix.AdditionalServiceInformation;
import eu.europa.esig.dss.validation.process.qmatrix.EIDASUtils;
import eu.europa.esig.dss.validation.process.qmatrix.qualification.checks.ServiceQualification;
import eu.europa.esig.dss.validation.reports.wrapper.TrustedServiceWrapper;
/**
* For Seals or Web Authentication are only allowed after eIDAS
*/
public class TrustedServicePreEIDASConsistency implements TrustedServiceCondition {
@Override
public boolean isConsistent(TrustedServiceWrapper trustedService) {
Date startDate = trustedService.getStartDate();
if (EIDASUtils.isPreEIDAS(startDate)) {
List<String> asis = trustedService.getAdditionalServiceInfos();
if (AdditionalServiceInformation.isForeSealsOnly(asis) || AdditionalServiceInformation.isForWebAuthOnly(asis)) {
return false;
}
List<String> qualifiers = trustedService.getCapturedQualifiers();
if (ServiceQualification.isQcForEseal(qualifiers) || ServiceQualification.isQcForWSA(qualifiers)) {
return false;
}
}
return true;
}
}