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 SimpleReport mergeReports(SimpleReport timeStampTokenReport, SimpleReport dataFileReport) { if (dataFileReport != null) { dataFileReport.getValidationConclusion().setTimeStampTokens(timeStampTokenReport.getValidationConclusion().getTimeStampTokens()); dataFileReport.getValidationConclusion().setSignatureForm(timeStampTokenReport.getValidationConclusion().getSignatureForm()); dataFileReport.getValidationConclusion().setValidatedDocument(timeStampTokenReport.getValidationConclusion().getValidatedDocument()); return dataFileReport; } return timeStampTokenReport; }
private ValidationConclusion getValidationConclusion() { ValidationConclusion validationConclusion = new ValidationConclusion(); validationConclusion.setPolicy(createReportPolicy(validationPolicy)); validationConclusion.setValidationTime(getValidationTime()); validationConclusion.setSignatureForm(ASICS_SIGNATURE_FORMAT); List<TimeStampTokenValidationData> timeStampTokenValidationDataList = new ArrayList<>(); timeStampTokenValidationDataList.add(timeStampTokenValidationData); validationConclusion.setTimeStampTokens(timeStampTokenValidationDataList); validationConclusion.setValidatedDocument(ReportBuilderUtils.createValidatedDocument(isReportSignatureEnabled, validationDocument.getName(), validationDocument.getBytes())); return validationConclusion; }
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; }
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; }
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 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 List<SimpleSignatureReport> createSimpleSignatureReports(ValidationConclusion report) { if (report.getSignatures() != null) return report.getSignatures().stream().map(this::createSimpleSignatureReport).collect(Collectors.toList()); return Collections.emptyList(); }
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; }