/** * @param constraintNode */ private void addControlTime(XmlNode constraintNode) { String formatedControlTime = DSSUtils.formatDate(controlTime); constraintNode.addChild(INFO).setAttribute(CONTROL_TIME, formatedControlTime); }
private void addValidationTime(final ProcessParameters params, final XmlNode report) { final Date validationTime = params.getCurrentTime(); report.addChild(NodeName.VALIDATION_TIME, DSSUtils.formatDate(validationTime)); }
private void checkDigestAlgoExpirationDate(final XmlDom token, final XmlNode infoContainerNode, final String message) { String digestAlgo = token.getValue(XP_DIGEST_ALGO_USED_TO_SIGN_THIS_TOKEN); digestAlgo = RuleUtils.canonicalizeSignatureAlgo(digestAlgo); final Date algoExpirationDate = constraintData.getAlgorithmExpirationDate(digestAlgo); if (algoExpirationDate != null && controlTime.after(algoExpirationDate)) { controlTime = algoExpirationDate; final String formatedCertAlgoExpirationDate = DSSUtils.formatDate(algoExpirationDate); infoContainerNode.addChild(INFO, message); infoContainerNode.addChild(INFO).setAttribute(ALGORITHM_EXPIRATION_DATE, formatedCertAlgoExpirationDate); } } }
private Pair[] getParametersAnswer5(final String algorithm, final Date algorithmExpirationDate) { boolean subContextPresent = DSSUtils.isNotBlank(subContext); final Pair[] pairs = new Pair[subContextPresent ? 4 : 3]; pairs[0] = new Pair(ALGORITHM, algorithm); pairs[1] = new Pair(CONTEXT, context); pairs[2] = new Pair(ALGORITHM_EXPIRATION_DATE, algorithmExpirationDate == null ? "?" : DSSUtils.formatDate(algorithmExpirationDate)); if (subContextPresent) { pairs[3] = new Pair(SUB_CONTEXT, subContext); } return pairs; }
private void checkEncryptionAlgoExpirationDate(final XmlDom token, final XmlNode infoContainerNode, final String message) { String encryptionAlgo = token.getValue(XP_ENCRYPTION_ALGO_USED_TO_SIGN_THIS_TOKEN); encryptionAlgo = RuleUtils.canonicalizeEncryptionAlgo(encryptionAlgo); final String encryptionKeyLength = token.getValue(XP_KEY_LENGTH_USED_TO_SIGN_THIS_TOKEN); final String algoWithKeyLength = encryptionAlgo + encryptionKeyLength; final Date algoExpirationDate = constraintData.getAlgorithmExpirationDate(algoWithKeyLength); if (algoExpirationDate != null && controlTime.after(algoExpirationDate)) { controlTime = algoExpirationDate; final String formatedCertAlgoExpirationDate = DSSUtils.formatDate(algoExpirationDate); infoContainerNode.addChild(INFO, message); infoContainerNode.addChild(INFO).setAttribute(ALGORITHM_EXPIRATION_DATE, formatedCertAlgoExpirationDate); } }
/** * Check of: Is revocation time posterior to best-signature-time? * <p/> * a) If step 2 returned INDETERMINATE/REVOKED_NO_POE: If the returned revocation time is posterior to * best-signature-time, perform step 5d. Otherwise, terminate with INDETERMINATE/REVOKED_NO_POE. In addition to * the data items returned in steps 1 and 2, the SVA should notify the DA with the reason of the failure. * * @param conclusion the conclusion to use to add the result of the check. * @return false if the check failed and the process should stop, true otherwise. */ private boolean checkRevocationTimeConstraint(final Conclusion conclusion) { final Constraint constraint = constraintData.getRevocationTimeConstraint(); if (constraint == null) { return true; } constraint.create(signatureXmlNode, ADEST_IRTPTBST); constraint.setIndications(INDETERMINATE, REVOKED_NO_POE, ADEST_IRTPTBST_ANS); final Date revocationDate = bvpConclusion.getTimeValue("./Error/@RevocationTime"); final boolean before = bestSignatureTime.before(revocationDate); constraint.setValue(before); final String formatedBestSignatureTime = DSSUtils.formatDate(bestSignatureTime); constraint.setAttribute(BEST_SIGNATURE_TIME, formatedBestSignatureTime); // TODO: (Bob: 2014 Mar 16) // final XmlDom errorXmlDom = bvpConclusion.getElement("./Error"); // conclusionNode.addChild(errorXmlDom); constraint.setConclusionReceiver(conclusion); return constraint.check(); }
if (expiredCertsRevocationInfo == null && !certValidity) { final String formatedNotBefore = DSSUtils.formatDate(notBefore); final String formatedNotAfter = DSSUtils.formatDate(notAfter); if (warn()) { final String formatedExpiredCertsRevocationInfo = DSSUtils.formatDate(expiredCertsRevocationInfo); node.addChild(INFO).setAttribute(EXPIRED_CERTS_REVOCATION_INFO, formatedExpiredCertsRevocationInfo);
final String formatedBestSignatureTime = DSSUtils.formatDate(bestSignatureTime); constraint.setAttribute(BEST_SIGNATURE_TIME, formatedBestSignatureTime);
final String formattedLatestContentTimestampProductionDate = DSSUtils.formatDate(latestContent); final String formattedEarliestSignatureTimestampProductionDate = DSSUtils.formatDate(earliestSignature); constraint.setAttribute(LATEST_CONTENT_TIMESTAMP_PRODUCTION_TIME, formattedLatestContentTimestampProductionDate); constraint.setAttribute(EARLIEST_SIGNATURE_TIMESTAMP_PRODUCTION_TIME, formattedEarliestSignatureTimestampProductionDate);
final boolean notBefore = !bestSignatureTime.before(notBeforeTime); constraint.setValue(notBefore); final String formatedBestSignatureTime = DSSUtils.formatDate(bestSignatureTime); constraint.setAttribute(BEST_SIGNATURE_TIME, formatedBestSignatureTime); constraint.setAttribute(NOT_BEFORE, formatedNotBefore);
timestampXmlNode.setAttribute(ID, timestampId); timestampXmlNode.setAttribute(TYPE, timestampTypeString); timestampXmlNode.setAttribute(GENERATION_TIME, DSSUtils.formatDate(productionTime)); final String formatedBestSignatureTime = DSSUtils.formatDate(bestSignatureTime); signatureConclusion.addInfo(EMPTY).setAttribute(BEST_SIGNATURE_TIME, formatedBestSignatureTime);
final String formatedBestSignatureTime = DSSUtils.formatDate(bestSignatureTime); constraint.setAttribute(BEST_SIGNATURE_TIME, formatedBestSignatureTime);
/** * Check of: Is the result of the timestamps validation process conclusive? * * @param conclusion the conclusion to use to add the result of the check. * @param validTimestampCount * @return false if the check failed and the process should stop, true otherwise. */ private boolean checkTimestampsValidationProcessConstraint(final Conclusion conclusion, final int validTimestampCount) { final TimestampValidationProcessValidConstraint constraint = constraintData.getTimestampValidationProcessConstraint(); if (constraint == null) { return true; } constraint.create(signatureXmlNode, ADEST_ROTVPIIC); constraint.setValidTimestampCount(validTimestampCount); constraint.setIndications(INDETERMINATE, null, ADEST_ROTVPIIC_ANS); constraint.setSubIndication1(NO_VALID_TIMESTAMP); constraint.setSubIndication2(NO_TIMESTAMP); final String formattedBestSignatureTime = DSSUtils.formatDate(bestSignatureTime); constraint.setAttribute(BEST_SIGNATURE_TIME, formattedBestSignatureTime); constraint.setConclusionReceiver(conclusion); return constraint.check(); }
final String formatedControlTime = DSSUtils.formatDate(controlTime); returnedPcvIndication.setAttribute(CONTROL_TIME, formatedControlTime); final String formatedBestSignatureTime = DSSUtils.formatDate(bestSignatureTime); constraintNode.addChild(INFO).setAttribute(BEST_SIGNATURE_TIME, formatedBestSignatureTime);
final String formatedRevocationIssuingTime = DSSUtils.formatDate(revocationIssuingTime); controlTime = revocationDate; final String formatedRevocationDate = DSSUtils.formatDate(revocationDate); constraintNode.addChild(INFO, CTS_CTSTRT_LABEL); constraintNode.addChild(INFO).setAttribute(REVOCATION_TIME, formatedRevocationDate); conclusion.addInfo().setAttribute(CONTROL_TIME, DSSUtils.formatDate(controlTime));
final String formatedControlTime = DSSUtils.formatDate(controlTime); constraintNode.addChild(INFO).setAttribute(CONTROL_TIME, formatedControlTime);