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; }
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 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; }
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 SignatureValidationData createSignatureValidationData(Signature signature, List<String> dataFilenames) { SignatureValidationData signatureValidationData = new SignatureValidationData(); signatureValidationData.setId(signature.getId()); signatureValidationData.setSignatureFormat(getSignatureFormat(signature.getProfile())); signatureValidationData.setSignatureLevel(getSignatureLevel(signature)); signatureValidationData.setSignedBy(removeQuotes(signature.getSigningCertificate().getSubjectName(CN))); signatureValidationData.setErrors(getErrors(signature)); signatureValidationData.setSignatureScopes(getSignatureScopes(signature, dataFilenames)); signatureValidationData.setClaimedSigningTime(ReportBuilderUtils.getDateFormatterWithGMTZone().format(signature.getClaimedSigningTime())); signatureValidationData.setWarnings(getWarnings(signature)); signatureValidationData.setInfo(getInfo(signature)); signatureValidationData.setIndication(getIndication(signature)); signatureValidationData.setSubIndication(getSubIndication(signature)); signatureValidationData.setCountryCode(getCountryCode(signature)); return signatureValidationData; }