public static SignatureValidationReport create(XmlSignature xmlSignature) { SignatureValidationReport report = new SignatureValidationReport(); report.setSigningTime(xmlSignature.getSigningTime()); report.setSignedBy(xmlSignature.getSignedBy()); report.setIndication(xmlSignature.getIndication()); report.setSignatureLevel(xmlSignature.getSignatureLevel()); report.setSubIndication(xmlSignature.getSubIndication()); report.getErrors().addAll(xmlSignature.getErrors()); report.getWarnings().addAll(xmlSignature.getWarnings()); report.getInfos().addAll(xmlSignature.getInfos()); report.getSignatureScope().addAll(xmlSignature.getSignatureScope()); report.setId(xmlSignature.getId()); //TODO not in use in DSS 5.2 //report.setType(xmlSignature.getType()); report.setParentId(xmlSignature.getParentId()); report.setSignatureFormat(xmlSignature.getSignatureFormat()); return report; }
/** * Create an instance of {@link XmlSignature } * */ public XmlSignature createXmlSignature() { return new XmlSignature(); }
XmlSignature xmlSignature = new XmlSignature(); xmlSignature.setId(signatureId); addSignatureFormat(signature, xmlSignature); xmlSignature.setSignedBy(getSignedBy(signature)); xmlSignature.getErrors().addAll(detailedReport.getErrors(signatureId)); xmlSignature.getWarnings().addAll(detailedReport.getWarnings(signatureId)); xmlSignature.getInfos().addAll(detailedReport.getInfos(signatureId)); xmlSignature.setFilename(signature.getSignatureFilename()); if (Indication.PASSED.equals(indication)) { validSignatureCount++; xmlSignature.setIndication(Indication.TOTAL_PASSED); } else if (Indication.FAILED.equals(indication)) { xmlSignature.setIndication(Indication.TOTAL_FAILED); } else { xmlSignature.setIndication(indication); // INDERTERMINATE xmlSignature.setSubIndication(detailedReport.getHighestSubIndication(signatureId)); xmlCertificateChain.getCertificate().add(certificate); xmlSignature.setCertificateChain(xmlCertificateChain);
private void addSignatureProfile(final XmlSignature xmlSignature) { SignatureQualification qualification = detailedReport.getSignatureQualification(xmlSignature.getId()); if (qualification != null) { XmlSignatureLevel sigLevel = new XmlSignatureLevel(); sigLevel.setValue(qualification); sigLevel.setDescription(qualification.getLabel()); xmlSignature.setSignatureLevel(sigLevel); } }
/** * This method retrieves the signature ids * * @return the {@code List} of signature id(s) contained in the simpleReport */ public List<String> getSignatureIdList() { final List<String> signatureIdList = new ArrayList<String>(); List<XmlSignature> signatures = wrapped.getSignature(); if (Utils.isCollectionNotEmpty(signatures)) { for (XmlSignature xmlSignature : signatures) { signatureIdList.add(xmlSignature.getId()); } } return signatureIdList; }
/** * This method retrieve the information for a given signature id * * @param signatureId * the signature id * @return the linked information */ public List<String> getInfo(final String signatureId) { XmlSignature signature = getSignatureById(signatureId); if (signature != null) { return signature.getInfos(); } return Collections.emptyList(); }
/** * This method retrieve the errors for a given signature id * * @param signatureId * the signature id * @return the linked errors */ public List<String> getErrors(final String signatureId) { XmlSignature signature = getSignatureById(signatureId); if (signature != null) { return signature.getErrors(); } return Collections.emptyList(); }
/** * This method retrieve the warnings for a given signature id * * @param signatureId * the signature id * @return the linked warnings */ public List<String> getWarnings(final String signatureId) { XmlSignature signature = getSignatureById(signatureId); if (signature != null) { return signature.getWarnings(); } return Collections.emptyList(); }
/** * Returns the signature type: QES, AdES, AdESqc, NA * * @param signatureId * the signature id to test * @return the {@code SignatureQualification} of the given signature */ public SignatureQualification getSignatureQualification(final String signatureId) { SignatureQualification qualif = SignatureQualification.NA; XmlSignature signature = getSignatureById(signatureId); if (signature != null && signature.getSignatureLevel() != null) { qualif = signature.getSignatureLevel().getValue(); } return qualif; }
/** * This method returns the signature format (XAdES_BASELINE_B...) * * @param signatureId * the signature id * @return the linked signature format */ public String getSignatureFormat(final String signatureId) { XmlSignature xmlSignature = getSignatureById(signatureId); if (xmlSignature != null) { return xmlSignature.getSignatureFormat(); } return Utils.EMPTY_STRING; }
/** * This method returns the indication obtained after the validation of the signature. * * @param signatureId * DSS unique identifier of the signature * @return the indication for the given signature Id */ public Indication getIndication(final String signatureId) { XmlSignature signature = getSignatureById(signatureId); if (signature != null) { return signature.getIndication(); } return null; }
/** * This method returns the signedBy * * @param signatureId * the signature id * @return the signatory */ public String getSignedBy(final String signatureId) { XmlSignature xmlSignature = getSignatureById(signatureId); if (xmlSignature != null) { return xmlSignature.getSignedBy(); } return Utils.EMPTY_STRING; }
private void addSignatureScope(final SignatureWrapper signature, final XmlSignature xmlSignature) { List<eu.europa.esig.dss.jaxb.diagnostic.XmlSignatureScope> signatureScopes = signature.getSignatureScopes(); if (Utils.isCollectionNotEmpty(signatureScopes)) { for (eu.europa.esig.dss.jaxb.diagnostic.XmlSignatureScope scopeType : signatureScopes) { XmlSignatureScope scope = new XmlSignatureScope(); scope.setName(scopeType.getName()); scope.setScope(scopeType.getScope().name()); scope.setValue(scopeType.getValue()); xmlSignature.getSignatureScope().add(scope); } } }
/** * This method returns a wrapper for the given signature * * @param signatureId * the signature id * @return the wrapper for the given signature id */ private XmlSignature getSignatureById(String signatureId) { List<XmlSignature> signatures = wrapped.getSignature(); if (Utils.isCollectionNotEmpty(signatures)) { for (XmlSignature xmlSignature : signatures) { if (Utils.areStringsEqual(signatureId, xmlSignature.getId())) { return xmlSignature; } } } return null; }