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; }
/** * Create an instance of {@link XmlBasicBuildingBlocks } * */ public XmlBasicBuildingBlocks createXmlBasicBuildingBlocks() { return new XmlBasicBuildingBlocks(); }
private boolean isValidTimestamp(TimestampWrapper timestamp) { XmlBasicBuildingBlocks timestampBasicBuildingBlocks = bbbs.get(timestamp.getId()); return (timestampBasicBuildingBlocks != null && timestampBasicBuildingBlocks.getConclusion() != null) && Indication.PASSED.equals(timestampBasicBuildingBlocks.getConclusion().getIndication()); }
private void collect(MessageType type, Set<String> result, XmlBasicBuildingBlocks bbb) { if (bbb != null) { collect(type, result, bbb.getFC()); collect(type, result, bbb.getISC()); collect(type, result, bbb.getCV()); collect(type, result, bbb.getSAV()); XmlXCV xcv = bbb.getXCV(); if (xcv != null) { collect(type, result, xcv); List<XmlSubXCV> subXCV = xcv.getSubXCV(); if (Utils.isCollectionNotEmpty(subXCV)) { for (XmlSubXCV xmlSubXCV : subXCV) { collect(type, result, xmlSubXCV); } } } collect(type, result, bbb.getVCI()); } }
if (xmlBasicBuildingBlocks.getCV() != null) { errors.addAll(xmlBasicBuildingBlocks.getCV().getConclusion().getErrors()); warnings.addAll(xmlBasicBuildingBlocks.getCV().getConclusion().getWarnings()); if (xmlBasicBuildingBlocks.getFC() != null) { errors.addAll(xmlBasicBuildingBlocks.getFC().getConclusion().getErrors()); warnings.addAll(xmlBasicBuildingBlocks.getFC().getConclusion().getWarnings()); if (xmlBasicBuildingBlocks.getISC() != null) { errors.addAll(xmlBasicBuildingBlocks.getISC().getConclusion().getErrors()); warnings.addAll(xmlBasicBuildingBlocks.getISC().getConclusion().getWarnings()); if (xmlBasicBuildingBlocks.getPCV() != null) { errors.addAll(xmlBasicBuildingBlocks.getPCV().getConclusion().getErrors()); warnings.addAll(xmlBasicBuildingBlocks.getPCV().getConclusion().getWarnings()); if (xmlBasicBuildingBlocks.getSAV() != null) { errors.addAll(xmlBasicBuildingBlocks.getSAV().getConclusion().getErrors()); warnings.addAll(xmlBasicBuildingBlocks.getCV().getConclusion().getWarnings()); if (xmlBasicBuildingBlocks.getPSV() != null) { errors.addAll(xmlBasicBuildingBlocks.getPSV().getConclusion().getErrors()); warnings.addAll(xmlBasicBuildingBlocks.getPSV().getConclusion().getWarnings()); if (xmlBasicBuildingBlocks.getVCI() != null) { errors.addAll(xmlBasicBuildingBlocks.getVCI().getConclusion().getErrors()); warnings.addAll(xmlBasicBuildingBlocks.getVCI().getConclusion().getWarnings()); if (xmlBasicBuildingBlocks.getVTS() != null) {
XmlISC isc = timestampBBB.getISC(); XmlConclusion iscConclusion = isc.getConclusion(); if (!Indication.PASSED.equals(iscConclusion.getIndication())) { XmlCV cv = timestampBBB.getCV(); XmlConclusion cvConclusion = cv.getConclusion(); if (!Indication.PASSED.equals(cvConclusion.getIndication())) { XmlXCV xcv = timestampBBB.getXCV(); XmlConclusion xcvConclusion = xcv.getConclusion(); if (!Indication.PASSED.equals(xcvConclusion.getIndication())) { XmlSAV sav = timestampBBB.getSAV(); XmlConclusion savConclusion = sav.getConclusion(); if (!Indication.PASSED.equals(savConclusion.getIndication())) {
public XmlBasicBuildingBlocks execute() { XmlBasicBuildingBlocks result = new XmlBasicBuildingBlocks(); result.setId(token.getId()); result.setType(context); result.setConclusion(new XmlConclusion()); result.setFC(fc); updateFinalConclusion(result, fc); result.setISC(isc); result.setCertificateChain(isc.getCertificateChain()); updateFinalConclusion(result, isc); result.setVCI(vci); updateFinalConclusion(result, vci); result.setXCV(xcv); updateFinalConclusion(result, xcv); result.setCV(cv); updateFinalConclusion(result, cv); result.setSAV(sav); updateFinalConclusion(result, sav); if (result.getConclusion().getIndication() == null) { result.getConclusion().setIndication(Indication.PASSED);
public SignatureBasicBuildingBlocksCheck(XmlValidationProcessBasicSignatures result, DiagnosticData diagnosticData, XmlBasicBuildingBlocks signatureBBB, Map<String, XmlBasicBuildingBlocks> bbbs, LevelConstraint constraint) { super(result, constraint, signatureBBB.getId()); this.diagnosticData = diagnosticData; this.signatureBBB = signatureBBB; this.bbbs = bbbs; }
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; }
@Override protected void initChain() { final Indication currentTimeIndication = bbb.getConclusion().getIndication(); final SubIndication currentTimeSubIndication = bbb.getConclusion().getSubIndication(); final List<XmlName> currentTimeErrors = bbb.getConclusion().getErrors(); bbb.setPCV(pcvResult);
XmlFC fc = signatureBBB.getFC(); if (fc != null) { XmlConclusion fcConclusion = fc.getConclusion(); XmlISC isc = signatureBBB.getISC(); XmlConclusion iscConclusion = isc.getConclusion(); if (Indication.INDETERMINATE.equals(iscConclusion.getIndication()) XmlVCI vci = signatureBBB.getVCI(); if (vci != null) { XmlConclusion vciConclusion = vci.getConclusion(); XmlCV cv = signatureBBB.getCV(); XmlConclusion cvConclusion = cv.getConclusion(); if (!Indication.PASSED.equals(cvConclusion.getIndication())) { XmlXCV xcv = signatureBBB.getXCV(); XmlConclusion xcvConclusion = xcv.getConclusion(); if (Indication.INDETERMINATE.equals(xcvConclusion.getIndication()) && SubIndication.REVOKED_NO_POE.equals(xcvConclusion.getSubIndication())) { SignatureWrapper currentSignature = diagnosticData.getSignatureById(signatureBBB.getId()); List<TimestampWrapper> contentTimestamps = currentSignature.getTimestampListByType(TimestampType.CONTENT_TIMESTAMP); if (Utils.isCollectionNotEmpty(contentTimestamps)) { SignatureWrapper currentSignature = diagnosticData.getSignatureById(signatureBBB.getId()); List<TimestampWrapper> contentTimestamps = currentSignature.getTimestampListByType(TimestampType.CONTENT_TIMESTAMP); if (Utils.isCollectionNotEmpty(contentTimestamps)) { XmlSAV sav = signatureBBB.getSAV(); XmlConclusion savConclusion = sav.getConclusion();
XmlISC isc = revocationBBB.getISC(); XmlConclusion iscConclusion = isc.getConclusion(); if (!isAllowed(iscConclusion)) { XmlCV cv = revocationBBB.getCV(); XmlConclusion cvConclusion = cv.getConclusion(); if (!isAllowed(cvConclusion)) { XmlXCV xcv = revocationBBB.getXCV(); XmlConclusion xcvConclusion = xcv.getConclusion(); if (!isAllowed(xcvConclusion)) { XmlSAV sav = revocationBBB.getSAV(); XmlConclusion savConclusion = sav.getConclusion(); if (!isAllowed(savConclusion)) {
public RevocationBasicBuildingBlocksCheck(XmlValidationProcessLongTermData result, XmlBasicBuildingBlocks revocationBBB, LevelConstraint constraint) { super(result, constraint, revocationBBB.getId()); this.revocationBBB = revocationBBB; }
public TimestampBasicBuildingBlocksCheck(XmlValidationProcessTimestamps result, XmlBasicBuildingBlocks timestampBBB, LevelConstraint constraint) { super(result, constraint, timestampBBB.getId()); this.timestampBBB = timestampBBB; }
/** * This method returns the result of the Basic Building Block for a token (signature, timestamp, revocation) * * @param tokenId * the token identifier * @return the SubIndication */ public SubIndication getBasicBuildingBlocksSubIndication(String tokenId) { XmlBasicBuildingBlocks bbb = getBasicBuildingBlockById(tokenId); if (bbb != null) { return bbb.getConclusion().getSubIndication(); } return null; }
/** * 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; }
/** * This method returns the result of the Basic Building Block for a token (signature, timestamp, revocation) * * @param tokenId * the token identifier * @return the Indication */ public Indication getBasicBuildingBlocksIndication(String tokenId) { XmlBasicBuildingBlocks bbb = getBasicBuildingBlockById(tokenId); if (bbb != null) { return bbb.getConclusion().getIndication(); } return null; }
/** * 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; }