/** * @return the {@code InputStream} representing the content of the node. */ public InputStream getInputStream() { try { final StringBuilder indent = new StringBuilder(); final StringBuilder xml = new StringBuilder(); final XmlNode masterNode = new XmlNode("__Master__"); final XmlNode savedParentNode = getParent(); if (savedParentNode != null) { setNameSpace(savedParentNode.getNameSpace()); } setParent(masterNode); writeNodes(masterNode, xml, indent, ""); parentNode = savedParentNode; final byte[] bytes = xml.toString().getBytes("UTF-8"); final InputStream in = new ByteArrayInputStream(bytes); return in; } catch (UnsupportedEncodingException e) { throw new DSSException("Error during the conversion of the XmlNode to the InputStream :", e); } }
/** * This method carry out the Past Signature Validation process. * <p/> * 9.2.1.2 Input<br> * <p/> * - Signature or time-stamp token . Mandatory<br> * - Target certificate ............ Mandatory<br> * - X.509 Validation Parameters ... Mandatory<br> * - A set of POEs ................. Mandatory<br> * - Certificate meta-data ......... Optional<br> * - Chain Constraints ............. Optional<br> * - Cryptographic Constraints ..... Optional<br> * * @param params * @param signature Can be the document or the timestamp signature * @param currentTimeSignatureConclusion * @param context */ public PastSignatureValidationConclusion run(final ProcessParameters params, final XmlDom signature, final XmlDom currentTimeSignatureConclusion, final String context) { this.contextName = context; prepareParameters(params); LOG.debug(this.getClass().getSimpleName() + ": start."); pastSignatureValidationData = new XmlNode(PAST_SIGNATURE_VALIDATION_DATA); pastSignatureValidationData.setNameSpace(XmlDom.NAMESPACE); final PastSignatureValidationConclusion conclusion = process(params, signature, currentTimeSignatureConclusion); conclusion.setValidationData(pastSignatureValidationData); return conclusion; }
validationDataXmlNode.setNameSpace(XmlDom.NAMESPACE);
/** * 5.3 X.509 Certificate Validation (XCV)<br> * This method carry out the XCV process. * * @param params validation process parameters * @return false if the validation failed, true otherwise */ public Conclusion run(final ProcessParameters params, final String contextName) { this.contextName = contextName; prepareParameters(params); validationDataXmlNode = new XmlNode(XCV); validationDataXmlNode.setNameSpace(XmlDom.NAMESPACE); final Conclusion conclusion = process(params); conclusion.setValidationData(validationDataXmlNode); return conclusion; }
/** * This method prepares the execution of the ISC process. * * @param params validation process parameters * @return the {@code Conclusion} which indicates the result of the process */ public Conclusion run(final ProcessParameters params, final String contextName) { this.params = params; this.contextName = contextName; prepareParameters(); /** * 5.1 Identification of the signer's certificate (ISC) */ validationDataXmlNode = new XmlNode(ISC); validationDataXmlNode.setNameSpace(XmlDom.NAMESPACE); final Conclusion conclusion = process(params); conclusion.setValidationData(validationDataXmlNode); return conclusion; }
/** * This method generates the validation simpleReport. * * @param params validation process parameters * @return the object representing {@code SimpleReport} */ public SimpleReport build(final ProcessParameters params) { final XmlNode simpleReport = new XmlNode(NodeName.SIMPLE_REPORT); simpleReport.setNameSpace(XmlDom.NAMESPACE); try { addPolicyNode(simpleReport); addValidationTime(params, simpleReport); addDocumentName(simpleReport); addSignatures(params, simpleReport); addStatistics(simpleReport); } catch (Exception e) { if (!"WAS TREATED".equals(e.getMessage())) { notifyException(simpleReport, e); } } final Document reportDocument = simpleReport.toDocument(); return new SimpleReport(reportDocument); }
/** * This method executes the long term validation processes. The underlying processes are automatically executed. */ @Override public Reports execute() { processParams = new ProcessParameters(); diagnosticData = new DiagnosticData(diagnosticDataDom); processParams.setDiagnosticData(diagnosticData); processParams.setValidationPolicy(validationPolicy); processParams.setCountersignatureValidationPolicy(countersignatureValidationPolicy); processParams.setCurrentTime(currentTime); final XmlDom usedCertificates = diagnosticData.getElement("/DiagnosticData/UsedCertificates"); processParams.setCertPool(usedCertificates); final XmlNode mainNode = new XmlNode(NodeName.VALIDATION_DATA); mainNode.setNameSpace(XmlDom.NAMESPACE); final LongTermValidation ltv = new LongTermValidation(); ltv.run(mainNode, processParams); final Document validationReportDocument = mainNode.toDocument(); detailedReport = new DetailedReport(validationReportDocument); final SimpleReportBuilder simpleReportBuilder = new SimpleReportBuilder(validationPolicy, diagnosticData); simpleReport = simpleReportBuilder.build(processParams); final Reports reports = new Reports(diagnosticData, detailedReport, simpleReport); return reports; }