/** * Create an instance of {@link DiagnosticData } * */ public DiagnosticData createDiagnosticData() { return new DiagnosticData(); }
/** * This method checks if the document is a container (ASiC) * * @return true if the document is a container */ public boolean isContainerInfoPresent() { return wrapped.getContainerInfo() != null; }
public String getDocumentName() { return wrapped.getDocumentName(); }
@Test public void universign() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/universign.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class, "/xsd/DiagnosticData.xsd"); assertNotNull(diagnosticData); CustomProcessExecutor executor = new CustomProcessExecutor(); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); Reports reports = executor.execute(); assertNotNull(reports); validateBestSigningTimes(reports); }
/** * This method returns the JAXB model of the LOTL * * @return the JAXB model of the LOTL */ public XmlTrustedList getListOfTrustedLists() { return wrapped.getListOfTrustedLists(); }
/** * This method returns the list of the signature id. The result is stored in the local variable. * * @return list of signature ids, is never null, can be empty */ public List<String> getSignatureIdList() { List<String> signatureIds = new ArrayList<String>(); List<XmlSignature> signatures = wrapped.getSignatures(); if (Utils.isCollectionNotEmpty(signatures)) { for (XmlSignature xmlSignature : signatures) { signatureIds.add(xmlSignature.getId()); } } return signatureIds; }
/** * This method returns the JAXB model of the used trusted lists * * @return the JAXB model of the used trusted lists */ public List<XmlTrustedList> getTrustedLists() { return wrapped.getTrustedLists(); }
/** * This method retrieves a list of certificate wrappers * * @return a list of certificate wrappers */ public List<CertificateWrapper> getUsedCertificates() { if (usedCertificates == null) { usedCertificates = new ArrayList<CertificateWrapper>(); List<XmlCertificate> xmlCertificates = wrapped.getUsedCertificates(); if (Utils.isCollectionNotEmpty(xmlCertificates)) { for (XmlCertificate certificate : xmlCertificates) { usedCertificates.add(new CertificateWrapper(certificate)); } } } return usedCertificates; }
@Test public void testMultiSigs() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/multi-sign.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class, "/xsd/DiagnosticData.xsd"); assertNotNull(diagnosticData); CustomProcessExecutor executor = new CustomProcessExecutor(); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); Reports reports = executor.execute(); SimpleReport simpleReport = reports.getSimpleReport(); assertEquals(4, simpleReport.getJaxbModel().getSignaturesCount()); LOG.info(reports.getXmlSimpleReport()); DetailedReport detailedReport = reports.getDetailedReport(); assertEquals(4, detailedReport.getSignatureIds().size()); LOG.info(reports.getXmlDetailedReport()); validateBestSigningTimes(reports); }
/** * This method returns the LOTL country code * * @return the country code of the used LOTL */ public String getLOTLCountryCode() { XmlTrustedList listOfTrustedLists = wrapped.getListOfTrustedLists(); if (listOfTrustedLists != null) { return listOfTrustedLists.getCountryCode(); } return null; }
/** * This method retrieves a list of signature wrappers. * * @return a list of signature wrappers. */ public List<SignatureWrapper> getSignatures() { if (foundSignatures == null) { foundSignatures = new ArrayList<SignatureWrapper>(); List<XmlSignature> xmlSignatures = wrapped.getSignatures(); if (Utils.isCollectionNotEmpty(xmlSignatures)) { for (XmlSignature xmlSignature : xmlSignatures) { foundSignatures.add(new SignatureWrapper(xmlSignature)); } } } return foundSignatures; }
@Test public void testCounterSignature() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/counter-signature-diag-data.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class, "/xsd/DiagnosticData.xsd"); assertNotNull(diagnosticData); CustomProcessExecutor executor = new CustomProcessExecutor(); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); Reports reports = executor.execute(); SimpleReport simpleReport = reports.getSimpleReport(); assertEquals(2, simpleReport.getJaxbModel().getSignaturesCount()); LOG.info(reports.getXmlSimpleReport()); DetailedReport detailedReport = reports.getDetailedReport(); assertEquals(2, detailedReport.getSignatureIds().size()); LOG.info(reports.getXmlDetailedReport()); validateBestSigningTimes(reports); }
public XmlContainerInfo getContainerInfo() { return wrapped.getContainerInfo(); }
@Test public void signedDataNotFound() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/DSS-922/diag-data.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class); assertNotNull(diagnosticData); CustomProcessExecutor executor = new CustomProcessExecutor(); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); Reports reports = executor.execute(); SimpleReport simpleReport = reports.getSimpleReport(); assertEquals(Indication.TOTAL_PASSED, simpleReport.getIndication(simpleReport.getFirstSignatureId())); }
/** * This method returns the container type * * @return the container type (ASiC-S/E) */ public String getContainerType() { XmlContainerInfo containerInfo = wrapped.getContainerInfo(); if (containerInfo != null) { return containerInfo.getContainerType(); } return null; }
@Test public void testTLOK() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/tl-ok.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class, "/xsd/DiagnosticData.xsd"); assertNotNull(diagnosticData); CustomProcessExecutor executor = new CustomProcessExecutor(); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadTLPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); Reports reports = executor.execute(); SimpleReport simpleReport = reports.getSimpleReport(); assertEquals(Indication.TOTAL_PASSED, simpleReport.getIndication(simpleReport.getFirstSignatureId())); }
/** * This method checks if the container has a mimetype file * * @return true if the mimetype file is present */ public boolean isMimetypeFilePresent() { XmlContainerInfo containerInfo = wrapped.getContainerInfo(); if (containerInfo != null) { return containerInfo.isMimeTypeFilePresent(); } return false; }
@Test public void testTLKO() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/tl-ko.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class, "/xsd/DiagnosticData.xsd"); assertNotNull(diagnosticData); CustomProcessExecutor executor = new CustomProcessExecutor(); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadTLPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); Reports reports = executor.execute(); SimpleReport simpleReport = reports.getSimpleReport(); assertEquals(Indication.TOTAL_FAILED, simpleReport.getIndication(simpleReport.getFirstSignatureId())); }
/** * This method returns the zip comment (if the document is a container) * * @return the zip comment for the current document (if container) or null */ public String getZipComment() { XmlContainerInfo containerInfo = wrapped.getContainerInfo(); if (containerInfo != null) { return containerInfo.getZipComment(); } return null; }
@Test public void testCertChain() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/qualifNA.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class, "/xsd/DiagnosticData.xsd"); assertNotNull(diagnosticData); CustomProcessExecutor executor = new CustomProcessExecutor(); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); Reports reports = executor.execute(); SimpleReport simpleReport = reports.getSimpleReport(); assertEquals(1, simpleReport.getJaxbModel().getSignaturesCount()); XmlSignature xmlSignature = simpleReport.getJaxbModel().getSignature().get(0); assertTrue(!xmlSignature.getCertificateChain().getCertificate().isEmpty()); assertEquals(3, xmlSignature.getCertificateChain().getCertificate().size()); ByteArrayOutputStream s = new ByteArrayOutputStream(); JAXB.marshal(simpleReport.getJaxbModel(), s); validateBestSigningTimes(reports); }