public X509CertificateValidation(DiagnosticData diagnosticData, CertificateWrapper currentCertificate, Date validationDate, Date usageTime, Context context, ValidationPolicy validationPolicy) { super(new XmlXCV()); this.diagnosticData = diagnosticData; this.currentCertificate = currentCertificate; this.validationDate = validationDate; this.usageTime = usageTime; this.context = context; this.validationPolicy = validationPolicy; }
errors.addAll(xmlBasicBuildingBlocks.getXCV().getConclusion().getErrors()); warnings.addAll(xmlBasicBuildingBlocks.getXCV().getConclusion().getWarnings()); if (xmlBasicBuildingBlocks.getXCV().getSubXCV() != null) { List<XmlSubXCV> subXCV = xmlBasicBuildingBlocks.getXCV().getSubXCV(); for (XmlSubXCV xmlSubXCV : subXCV){ errors.addAll(xmlSubXCV.getConclusion().getErrors());
@Override protected void initChain() { ChainItem<XmlXCV> item = firstItem = prospectiveCertificateChain(); if (currentCertificate.isTrusted() || currentCertificate.isTrustedChain()) { item = item.setNextItem(trustedServiceWithExpectedTypeIdentifier()); item = item.setNextItem(trustedServiceWithExpectedStatus()); SubX509CertificateValidation certificateValidation = new SubX509CertificateValidation(currentCertificate, validationDate, context, SubContext.SIGNING_CERT, validationPolicy); XmlSubXCV subXCV = certificateValidation.execute(); result.getSubXCV().add(subXCV); boolean trustAnchorReached = currentCertificate.isTrusted(); // Check CA_CERTIFICATEs List<XmlChainItem> certificateChainList = currentCertificate.getCertificateChain(); if (Utils.isCollectionNotEmpty(certificateChainList)) { for (XmlChainItem chainCertificate : certificateChainList) { if (!trustAnchorReached) { CertificateWrapper certificate = diagnosticData.getUsedCertificateByIdNullSafe(chainCertificate.getId()); certificateValidation = new SubX509CertificateValidation(certificate, validationDate, context, SubContext.CA_CERTIFICATE, validationPolicy); subXCV = certificateValidation.execute(); result.getSubXCV().add(subXCV); trustAnchorReached = certificate.isTrusted(); } } } for (XmlSubXCV subXCVresult : result.getSubXCV()) { item = item.setNextItem(checkSubXCVResult(subXCVresult)); } } }
XmlConclusion xcvConclusion = xcv.getConclusion(); if (Indication.INDETERMINATE.equals(xcvConclusion.getIndication()) && SubIndication.REVOKED_NO_POE.equals(xcvConclusion.getSubIndication())) { SignatureWrapper currentSignature = diagnosticData.getSignatureById(signatureBBB.getId());
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; }
XmlConclusion xcvConclusion = xcv.getConclusion(); if (!Indication.PASSED.equals(xcvConclusion.getIndication())) { indication = xcvConclusion.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()); } }
XmlConclusion xcvConclusion = xcv.getConclusion(); if (!isAllowed(xcvConclusion)) { indication = xcvConclusion.getIndication();
/** * Create an instance of {@link XmlXCV } * */ public XmlXCV createXmlXCV() { return new XmlXCV(); }