public DSSNullException(final Class<?> javaClass, final String name, final String message) { super("Parameter:" + (DSSUtils.isNotBlank(name) ? (" " + name) : "") + "[" + javaClass.getName() + "] cannot be null. " + message); } }
/** * This methods allows to indicate if the resource must be obtained. If this method has been invoked then only the provided URL will be processed. * * @param url to be processed */ public void addToBeLoaded(final String url) { if (toBeLoaded == null) { toBeLoaded = new ArrayList<String>(); } if (DSSUtils.isNotBlank(url)) { toBeLoaded.add(url); } }
public String toString() { final String text = getText(); final String nodeName = element.getNodeName(); if (DSSUtils.isNotBlank(text)) { return nodeName + ": " + text; } else { return nodeName; } }
protected void setCanonicalizationMethods(final SignatureParameters params, final String canonicalizationMethod) { final String signedInfoCanonicalizationMethod_ = params.getSignedInfoCanonicalizationMethod(); if (DSSUtils.isNotBlank(signedInfoCanonicalizationMethod_)) { signedInfoCanonicalizationMethod = signedInfoCanonicalizationMethod_; } else { signedInfoCanonicalizationMethod = canonicalizationMethod; } final String signedPropertiesCanonicalizationMethod_ = params.getSignedPropertiesCanonicalizationMethod(); if (DSSUtils.isNotBlank(signedPropertiesCanonicalizationMethod_)) { signedPropertiesCanonicalizationMethod = signedPropertiesCanonicalizationMethod_; } else { signedPropertiesCanonicalizationMethod = canonicalizationMethod; } }
@Override public CertificateExpirationConstraint getSigningCertificateExpirationConstraint(final String context, final String subContext) { final String level = getValue(String.format("/ConstraintsParameters/%s/%s/Expiration/@Level", context, subContext)); if (DSSUtils.isNotBlank(level)) { final CertificateExpirationConstraint constraint = new CertificateExpirationConstraint(level); return constraint; } return null; }
@Override public Constraint getSignerLocationConstraint() { final String level = getValue("/ConstraintsParameters/MainSignature/MandatedSignedQProperties/SignerLocation/@Level"); if (DSSUtils.isNotBlank(level)) { final Constraint constraint = new Constraint(level); return constraint; } return null; }
@Override public Constraint getContentTimestampPresenceConstraint() { final String level = getValue("/ConstraintsParameters/MainSignature/MandatedSignedQProperties/ContentTimestamp/@Level"); if (DSSUtils.isNotBlank(level)) { final Constraint constraint = new Constraint(level); return constraint; } return null; }
@Override public Constraint getChainConstraint() { final String level = getValue("/ConstraintsParameters/MainSignature/CertificateChain/@Level"); if (DSSUtils.isNotBlank(level)) { final Constraint constraint = new Constraint(level); return constraint; } return null; }
static void createTransform(final Document document, final DSSTransform dssTransform, final Element transformDom) { transformDom.setAttribute(ALGORITHM, dssTransform.getAlgorithm()); final String elementName = dssTransform.getElementName(); final String textContent = dssTransform.getTextContent(); if (DSSUtils.isNotBlank(elementName)) { final String namespace = dssTransform.getNamespace(); DSSXMLUtils.addTextElement(document, transformDom, namespace, elementName, textContent); } else if (DSSUtils.isNotBlank(textContent)) { final Document transformContentDoc = DSSXMLUtils.buildDOM(textContent); final Element contextDocumentElement = transformContentDoc.getDocumentElement(); document.adoptNode(contextDocumentElement); transformDom.appendChild(contextDocumentElement); } }
private Pair[] getParametersAnswer2() { boolean subContextPresent = DSSUtils.isNotBlank(subContext); final Pair[] pairs = new Pair[subContextPresent ? 3 : 2]; pairs[0] = new Pair(DIGEST_ALGORITHM, digestAlgorithm); pairs[1] = new Pair(CONTEXT, context); if (subContextPresent) { pairs[2] = new Pair(SUB_CONTEXT, subContext); } return pairs; }
private Pair[] getParametersAnswer4(final String algorithm) { boolean subContextPresent = DSSUtils.isNotBlank(subContext); final Pair[] pairs = new Pair[subContextPresent ? 3 : 2]; pairs[0] = new Pair(ALGORITHM, algorithm); pairs[1] = new Pair(CONTEXT, context); if (subContextPresent) { pairs[2] = new Pair(SUB_CONTEXT, subContext); } return pairs; }
private Pair[] getParametersAnswer1() { boolean subContextPresent = DSSUtils.isNotBlank(subContext); final Pair[] pairs = new Pair[subContextPresent ? 3 : 2]; pairs[0] = new Pair(ENCRYPTION_ALGORITHM, encryptionAlgorithm); pairs[1] = new Pair(CONTEXT, context); if (subContextPresent) { pairs[2] = new Pair(SUB_CONTEXT, subContext); } return pairs; }
@Override public Constraint getCommitmentTypeIndicationConstraint() { final String level = getValue("/ConstraintsParameters/MainSignature/MandatedSignedQProperties/CommitmentTypeIndication/@Level"); if (DSSUtils.isNotBlank(level)) { final Constraint constraint = new Constraint(level); final List<XmlDom> commitmentTypeIndications = getElements("/ConstraintsParameters/MainSignature/MandatedSignedQProperties/CommitmentTypeIndication/Identifier"); final List<String> identifierList = XmlDom.convertToStringList(commitmentTypeIndications); constraint.setExpectedValue(identifierList.toString()); constraint.setIdentifiers(identifierList); return constraint; } return null; }
@Override public Constraint getClaimedRoleConstraint() { final String level = getValue("/ConstraintsParameters/MainSignature/MandatedSignedQProperties/ClaimedRoles/@Level"); if (DSSUtils.isNotBlank(level)) { final Constraint constraint = new Constraint(level); final List<XmlDom> claimedRoles = getElements("/ConstraintsParameters/MainSignature/MandatedSignedQProperties/ClaimedRoles/Role"); final List<String> claimedRoleList = XmlDom.convertToStringList(claimedRoles); constraint.setExpectedValue(claimedRoleList.toString()); constraint.setIdentifiers(claimedRoleList); return constraint; } return null; }
@Override public Constraint getSigningCertificateKeyUsageConstraint(final String context) { final String level = getValue("/ConstraintsParameters/%s/SigningCertificate/KeyUsage/@Level", context); if (DSSUtils.isNotBlank(level)) { final Constraint constraint = new Constraint(level); final List<XmlDom> keyUsages = getElements("/ConstraintsParameters/%s/SigningCertificate/KeyUsage/Identifier", context); final List<String> identifierList = XmlDom.convertToStringList(keyUsages); constraint.setExpectedValue(identifierList.toString()); constraint.setIdentifiers(identifierList); return constraint; } return null; }
@Override public SignaturePolicyConstraint getSignaturePolicyConstraint() { final String level = getValue("/ConstraintsParameters/MainSignature/AcceptablePolicies/@Level"); if (DSSUtils.isNotBlank(level)) { final SignaturePolicyConstraint constraint = new SignaturePolicyConstraint(level); final List<XmlDom> policyList = getElements("/ConstraintsParameters/MainSignature/AcceptablePolicies/Id"); final List<String> identifierList = XmlDom.convertToStringList(policyList); constraint.setIdentifiers(identifierList); constraint.setExpectedValue(identifierList.toString()); return constraint; } return null; }
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 Pair[] getParametersAnswer3(final String minimumPublicKeySize) { boolean subContextPresent = DSSUtils.isNotBlank(subContext); final Pair[] pairs = new Pair[subContextPresent ? 5 : 4]; pairs[0] = new Pair(ENCRYPTION_ALGORITHM, encryptionAlgorithm); pairs[1] = new Pair(PUBLIC_KEY_SIZE, keyLength); pairs[2] = new Pair(MINIMUM_PUBLIC_KEY_SIZE, minimumPublicKeySize); pairs[3] = new Pair(CONTEXT, context); if (subContextPresent) { pairs[4] = new Pair(SUB_CONTEXT, subContext); } return pairs; }
private void addSignedBy(final XmlNode signatureNode, final XmlDom signCert) { String signedBy = "?"; if (signCert != null) { final String dn = signCert.getValue("./SubjectDistinguishedName[@Format='RFC2253']/text()"); final X509Principal principal = new X509Principal(dn); final Vector<?> values = principal.getValues(new ASN1ObjectIdentifier("2.5.4.3")); if (values != null && values.size() > 0) { final String string = (String) values.get(0); if (DSSUtils.isNotBlank(string)) { signedBy = DSSUtils.replaceStrStr(string, "&", "&"); } if (DSSUtils.isEmpty(signedBy)) { signedBy = DSSUtils.replaceStrStr(dn, "&", "&"); } } } signatureNode.addChild(NodeName.SIGNED_BY, signedBy); }
@Override protected Constraint getBasicConstraint(final String XP_ROOT, final boolean defaultExpectedValue) { final String level = getValue(XP_ROOT + "/@Level"); if (DSSUtils.isNotBlank(level)) { final Constraint constraint = new Constraint(level); String expectedValue = getValue(XP_ROOT + "/text()"); if (DSSUtils.isBlank(expectedValue)) { expectedValue = defaultExpectedValue ? TRUE : FALSE; } constraint.setExpectedValue(expectedValue); return constraint; } return null; }