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 Reports mergeReportsToOne(List<Reports> reportsList) { int signaturesCount = 0; int validSignaturesCount = 0; Reports response = null; for (Reports reports : reportsList) { ValidationConclusion validationConclusion = reports.getSimpleReport().getValidationConclusion(); if (signaturesCount == 0) { response = reports; validSignaturesCount = validationConclusion.getValidSignaturesCount(); } else { response.getSimpleReport().getValidationConclusion().getSignatures().addAll(validationConclusion.getSignatures()); validSignaturesCount = validSignaturesCount + validationConclusion.getValidSignaturesCount(); } signaturesCount = signaturesCount + validationConclusion.getSignaturesCount(); } if (response != null) { ValidationConclusion validationConclusion = response.getSimpleReport().getValidationConclusion(); validationConclusion.setSignaturesCount(signaturesCount); validationConclusion.setValidSignaturesCount(validSignaturesCount); } return response; }
private SimpleValidationReport createValidationResult(long validationDurationInNanos, ValidationConclusion report) { SimpleValidationReport simpleValidationReport = new SimpleValidationReport(); simpleValidationReport.setDuration(TimeUnit.NANOSECONDS.toMillis(validationDurationInNanos)); simpleValidationReport.setSignatureCount(report.getSignaturesCount()); simpleValidationReport.setValidSignatureCount(report.getValidSignaturesCount()); simpleValidationReport.setSimpleSignatureReports(createSimpleSignatureReports(report)); simpleValidationReport.setContainerType(transformToContainerTypeOrEmpty(report.getSignatureForm())); simpleValidationReport.setUserIdentifier(getUserIdentifier()); return simpleValidationReport; }
private ValidationConclusion toSoapValidationConclusion(ee.openeid.siva.validation.document.report.ValidationConclusion validationConclusion) { ValidationConclusion responseValidationConclusion = new ValidationConclusion(); responseValidationConclusion.setSignatureForm(validationConclusion.getSignatureForm()); responseValidationConclusion.setPolicy(toSoapResponsePolicy(validationConclusion.getPolicy())); responseValidationConclusion.setValidationLevel(validationConclusion.getValidationLevel()); if (validationConclusion.getValidatedDocument() != null) responseValidationConclusion.setValidatedDocument(toSoapValidatedDocument(validationConclusion.getValidatedDocument())); responseValidationConclusion.setSignaturesCount(validationConclusion.getSignaturesCount()); if (validationConclusion.getSignatures() != null) responseValidationConclusion.setSignatures(toSoapResponseSignatures(validationConclusion.getSignatures())); if (validationConclusion.getValidationWarnings() != null) responseValidationConclusion.setValidationWarnings(toSoapResponseValidationWarnings(validationConclusion.getValidationWarnings())); responseValidationConclusion.setValidSignaturesCount(validationConclusion.getValidSignaturesCount()); responseValidationConclusion.setValidationTime(validationConclusion.getValidationTime()); if (validationConclusion.getTimeStampTokens() != null) responseValidationConclusion.setTimeStampTokens(toSoapResponseResponseTimeStamps(validationConclusion.getTimeStampTokens())); return responseValidationConclusion; }