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 ValidationConclusion getValidationConclusion() { ValidationConclusion validationConclusion = new ValidationConclusion(); validationConclusion.setPolicy(createReportPolicy(validationPolicy)); validationConclusion.setValidationTime(getValidationTime()); validationConclusion.setSignatureForm(getContainerType()); validationConclusion.setValidationWarnings(Collections.emptyList()); validationConclusion.setSignatures(buildSignatureValidationDataList()); validationConclusion.setSignaturesCount(validationConclusion.getSignatures().size()); validationConclusion.setValidatedDocument(ReportBuilderUtils.createValidatedDocument(isReportSignatureEnabled, validationDocument.getName(), validationDocument.getBytes())); validationConclusion.setValidSignaturesCount(validationConclusion.getSignatures() .stream() .filter(vd -> StringUtils.equals(vd.getIndication(), SignatureValidationData.Indication.TOTAL_PASSED.toString())) .collect(Collectors.toList()) .size()); return validationConclusion; }
private ValidationConclusion getValidationConclusion() { ValidationConclusion validationConclusion = new ValidationConclusion(); validationConclusion.setPolicy(createReportPolicy(validationPolicy)); validationConclusion.setValidationTime(getValidationTime()); validationConclusion.setSignatureForm(getSignatureForm()); validationConclusion.setSignaturesCount(container.getSignatures().size()); validationConclusion.setValidationWarnings(containerValidationWarnings()); validationConclusion.setSignatures(createSignaturesForReport(container)); validationConclusion.setValidatedDocument(ReportBuilderUtils.createValidatedDocument(isReportSignatureEnabled, validationDocument.getName(), validationDocument.getBytes())); validationConclusion.setValidSignaturesCount( validationConclusion.getSignatures() .stream() .filter(vd -> StringUtils.equals(vd.getIndication(), SignatureValidationData.Indication.TOTAL_PASSED.toString())) .collect(Collectors.toList()) .size()); return validationConclusion; }
private SimpleSignatureReport createSimpleSignatureReport(SignatureValidationData signatureValidationData) { SimpleSignatureReport simpleSignatureReport = new SimpleSignatureReport(); simpleSignatureReport.setIndication(signatureValidationData.getIndication()); simpleSignatureReport.setSubIndication(signatureValidationData.getSubIndication()); simpleSignatureReport.setSignatureFormat(signatureValidationData.getSignatureFormat()); String countryCode = StringUtils.isEmpty(signatureValidationData.getCountryCode()) ? "XX" : signatureValidationData.getCountryCode(); simpleSignatureReport.setCountryCode(countryCode); return simpleSignatureReport; }
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; }