/** * Returns the number of Basic Building Blocks. * * @return {@code int} number of Basic Building Blocks */ public int getBasicBuildingBlocksNumber() { return jaxbDetailedReport.getBasicBuildingBlocks().size(); }
/** * Returns the id of the token. The signature is identified by its index: 0 for the first one. * * @param index * (position/order) of the signature within the report * @return {@code String} identifying the token */ public String getBasicBuildingBlocksSignatureId(final int index) { List<XmlBasicBuildingBlocks> bbbs = jaxbDetailedReport.getBasicBuildingBlocks(); if (Utils.collectionSize(bbbs) >= index) { XmlBasicBuildingBlocks bbb = jaxbDetailedReport.getBasicBuildingBlocks().get(index); if (bbb != null) { return bbb.getId(); } } return null; }
public List<String> getRevocationIds() { List<String> result = new ArrayList<String>(); List<XmlBasicBuildingBlocks> bbbs = jaxbDetailedReport.getBasicBuildingBlocks(); for (XmlBasicBuildingBlocks bbb : bbbs) { if (Context.REVOCATION == bbb.getType()) { result.add(bbb.getId()); } } return result; }
public List<String> getTimestampIds() { List<String> result = new ArrayList<String>(); List<XmlBasicBuildingBlocks> bbbs = jaxbDetailedReport.getBasicBuildingBlocks(); for (XmlBasicBuildingBlocks bbb : bbbs) { if (Context.TIMESTAMP == bbb.getType()) { result.add(bbb.getId()); } } return result; }
public List<String> getSignatureIds() { List<String> result = new ArrayList<String>(); List<XmlBasicBuildingBlocks> bbbs = jaxbDetailedReport.getBasicBuildingBlocks(); for (XmlBasicBuildingBlocks bbb : bbbs) { if (Context.SIGNATURE == bbb.getType() || Context.COUNTER_SIGNATURE == bbb.getType()) { result.add(bbb.getId()); } } return result; }
/** * This method returns the full content of the Basic Building Block for a token (signature, timestamp, revocation) * * @param tokenId * the token identifier * @return the XmlBasicBuildingBlocks */ public XmlBasicBuildingBlocks getBasicBuildingBlockById(String tokenId) { List<XmlBasicBuildingBlocks> basicBuildingBlocks = jaxbDetailedReport.getBasicBuildingBlocks(); if (Utils.isCollectionNotEmpty(basicBuildingBlocks)) { for (XmlBasicBuildingBlocks xmlBasicBuildingBlocks : basicBuildingBlocks) { if (Utils.areStringsEqual(xmlBasicBuildingBlocks.getId(), tokenId)) { return xmlBasicBuildingBlocks; } } } return null; }
DetailedReport build() { DetailedReport detailedReport = init(); CertificateWrapper certificate = diagnosticData.getUsedCertificateById(certificateId); CertificateWrapper rootCertificate = diagnosticData.getUsedCertificateById(certificate.getLastChainCertificateId()); Map<String, XmlBasicBuildingBlocks> bbbs = new HashMap<String, XmlBasicBuildingBlocks>(); process(Collections.singleton(certificate), Context.CERTIFICATE, bbbs); detailedReport.getBasicBuildingBlocks().addAll(bbbs.values()); XmlBasicBuildingBlocks basicBuildingBlocks = bbbs.get(certificate.getId()); CertificateQualificationBlock cqb = new CertificateQualificationBlock(basicBuildingBlocks.getConclusion(), currentTime, certificate, rootCertificate, detailedReport.getTLAnalysis(), diagnosticData.getLOTLCountryCode()); detailedReport.setCertificate(cqb.execute()); return detailedReport; }
public Indication getCertificateXCVIndication(String certificateId) { if (jaxbDetailedReport.getCertificate() == null) { throw new DSSException("Only supported in report for certificate"); } List<XmlBasicBuildingBlocks> basicBuildingBlocks = jaxbDetailedReport.getBasicBuildingBlocks(); for (XmlBasicBuildingBlocks xmlBasicBuildingBlocks : basicBuildingBlocks) { XmlXCV xcv = xmlBasicBuildingBlocks.getXCV(); if (xcv != null) { List<XmlSubXCV> subXCV = xcv.getSubXCV(); for (XmlSubXCV xmlSubXCV : subXCV) { if (Utils.areStringsEqual(certificateId, xmlSubXCV.getId())) { return xmlSubXCV.getConclusion().getIndication(); } } } } return null; }
private void errorsAndWarningsBuilder(){ log.debug("Errors and warnings parsing from DetailedReport"); List<XmlBasicBuildingBlocks> basicBuildingBlocks = this.detailedReport.getJAXBModel().getBasicBuildingBlocks(); List<XmlName> errors = new ArrayList<>(); List<XmlName> warnings = new ArrayList<>();
detailedReport.getBasicBuildingBlocks().addAll(bbbs.values());
@Test public void dkNoChain() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/cert-validation/dk_no_chain.xml"); DiagnosticData diagnosticData = getJAXBObjectFromString(fis, DiagnosticData.class, "/xsd/DiagnosticData.xsd"); assertNotNull(diagnosticData); String certificateId = "3ECBC4648AA3BCB671976F53D7516F774DB1C886FAB81FE5469462181187DB8D"; CertificateProcessExecutor executor = new CertificateProcessExecutor(); executor.setCertificateId(certificateId); executor.setDiagnosticData(diagnosticData); executor.setValidationPolicy(loadPolicy()); executor.setCurrentTime(diagnosticData.getValidationDate()); CertificateReports reports = executor.execute(); DetailedReport detailedReportJaxb = reports.getDetailedReportJaxb(); assertNotNull(detailedReportJaxb); assertNotNull(detailedReportJaxb.getCertificate()); assertEquals(0, detailedReportJaxb.getTLAnalysis().size()); assertEquals(1, detailedReportJaxb.getBasicBuildingBlocks().size()); assertEquals(0, detailedReportJaxb.getSignatures().size()); SimpleCertificateReport simpleReportJaxb = reports.getSimpleReportJaxb(); assertNotNull(simpleReportJaxb); assertNotNull(simpleReportJaxb.getChain()); assertEquals(1, simpleReportJaxb.getChain().size()); XmlChainItem cert = simpleReportJaxb.getChain().get(0); assertEquals(certificateId, cert.getId()); assertNotNull(cert.getQualificationAtIssuance()); assertNotNull(cert.getQualificationAtValidation()); assertNull(cert.getTrustAnchors()); }
assertNotNull(detailedReportJaxb.getCertificate()); assertEquals(2, detailedReportJaxb.getTLAnalysis().size()); assertEquals(1, detailedReportJaxb.getBasicBuildingBlocks().size()); assertEquals(0, detailedReportJaxb.getSignatures().size());
assertNotNull(detailedReportJaxb.getCertificate()); assertEquals(2, detailedReportJaxb.getTLAnalysis().size()); assertEquals(1, detailedReportJaxb.getBasicBuildingBlocks().size()); assertEquals(0, detailedReportJaxb.getSignatures().size());