public static void processSignatureIndications(ValidationConclusion validationConclusion, String policyName) { if (QES_POLICY.equals(policyName)) { for (SignatureValidationData signature : validationConclusion.getSignatures()) { if (SignatureValidationData.Indication.TOTAL_PASSED.toString().equals(signature.getIndication())) { String signatureLevel = signature.getSignatureLevel(); if (SignatureQualification.ADESEAL_QC.name().equals(signatureLevel) || SignatureQualification.QES.name().equals(signatureLevel) || SignatureQualification.QESIG.name().equals(signatureLevel) || SignatureQualification.QESEAL.name().equals(signatureLevel)) { continue; } else if (SignatureQualification.ADESIG_QC.name().equals(signatureLevel)) { signature.getWarnings().add(getSignatureLevelWarning()); continue; } signature.setIndication(SignatureValidationData.Indication.TOTAL_FAILED); signature.getErrors().add(getSignatureLevelNotAcceptedError()); validationConclusion.setValidSignaturesCount(validationConclusion.getValidSignaturesCount() - 1); } } } }
private SignatureValidationData buildSignatureValidationData(String signatureId) { SignatureValidationData signatureValidationData = new SignatureValidationData(); signatureValidationData.setId(signatureId); signatureValidationData.setSignatureFormat(changeAndValidateSignatureFormat(dssReports.getSimpleReport().getSignatureFormat(signatureId), signatureId)); signatureValidationData.setSignatureLevel(dssReports.getSimpleReport().getSignatureQualification(signatureId).name()); signatureValidationData.setSignedBy(parseSignedBy(signatureId)); signatureValidationData.setClaimedSigningTime(parseClaimedSigningTime(signatureId)); signatureValidationData.setSignatureScopes(parseSignatureScopes(signatureId)); signatureValidationData.setErrors(parseSignatureErrors(signatureId)); signatureValidationData.setWarnings(parseSignatureWarnings(signatureId)); signatureValidationData.setInfo(parseSignatureInfo(signatureValidationData.getSignatureFormat(), signatureId)); signatureValidationData.setCountryCode(getCountryCode()); signatureValidationData.setIndication(parseIndication(signatureId, signatureValidationData.getErrors())); signatureValidationData.setSubIndication(parseSubIndication(signatureId, signatureValidationData.getErrors())); return signatureValidationData; }
private SignatureValidationData getSignatureValidationData(ee.openeid.siva.validation.document.report.SignatureValidationData signature) { SignatureValidationData responseSignature = new SignatureValidationData(); responseSignature.setId(signature.getId()); responseSignature.setClaimedSigningTime(signature.getClaimedSigningTime()); responseSignature.setSignatureFormat(signature.getSignatureFormat()); responseSignature.setSignatureLevel(signature.getSignatureLevel()); responseSignature.setSignedBy(signature.getSignedBy()); responseSignature.setIndication(Indication.fromValue(signature.getIndication())); responseSignature.setSubIndication(signature.getSubIndication()); responseSignature.setInfo(toSoapResponseSignatureInfo(signature.getInfo())); responseSignature.setErrors(toSoapResponseSignatureErrors(signature.getErrors())); responseSignature.setWarnings(toSoapResponseSignatureWarnings(signature.getWarnings())); responseSignature.setSignatureScopes(toSoapResponseSignatureScopes(signature.getSignatureScopes())); return responseSignature; }