private boolean isRefIdPresent(ArrayList refList , QName qname) { for (Object aRefList : refList) { WSDataRef dataRef = (WSDataRef) aRefList; //ArrayList can contain null elements if (dataRef == null) { continue; } //QName of the decrypted element QName dataRefQName = dataRef.getName(); if (dataRefQName != null && dataRefQName.equals(qname)) { return true; } } return false; }
private boolean isRefIdPresent(ArrayList refList , String id) { if(id != null && id.charAt(0) == '#') { id = id.substring(1); } for (Object aRefList : refList) { WSDataRef dataRef = (WSDataRef) aRefList; //ArrayList can contain null elements if (dataRef == null) { continue; } //Try to get the wsuId of the decrypted element String dataRefUri = dataRef.getWsuId(); //If not found, try the reference Id of encrypted element ( we set the same Id when we // decrypted element in WSS4J) // TODO wsu id must present. We need to find the scenario where it is not set // if (dataRefUri == null) { // dataRefUri = dataRef.getProtectedElement().getAttribute("Id"); // TODO check whether this is correct // earlier it was dataRefUri = dataRef.getDataref(); //} if (dataRefUri != null && dataRefUri.equals(id)) { return true; } } return false; }
WSDataRef dataRef = new WSDataRef(); dataRef.setWsuId(dataRefURI); dataRef.setAlgorithm(symEncAlgo); boolean content = X509Util.isContent(encData); dataRef.setContent(content); soapHeader.replaceChild(decryptedHeader, parent); dataRef.setProtectedElement((Element)decryptedHeader); dataRef.setXpath(getXPath(decryptedHeader)); } else if (content) { dataRef.setProtectedElement(encData); dataRef.setXpath(getXPath(encData)); } else { Node decryptedNode; dataRef.setProtectedElement((Element)decryptedNode); dataRef.setXpath(getXPath(decryptedNode));
WSDataRef ref = new WSDataRef(); ref.setWsuId(uri); ref.setProtectedElement(se); ref.setAlgorithm(signedInfo.getSignatureMethod().getAlgorithm()); ref.setDigestAlgorithm(siRef.getDigestMethod().getAlgorithm()); transformAlgorithms.add(transform.getAlgorithm()); ref.setTransformAlgorithms(transformAlgorithms); ref.setXpath(ReferenceListProcessor.getXPath(se)); protectedRefs.add(ref);
public static void verifySignedElement(Element elem, WSDocInfo wsDocInfo) throws WSSecurityException { List<WSSecurityEngineResult> signedResults = wsDocInfo.getResultsByTag(WSConstants.SIGN); if (signedResults != null) { for (WSSecurityEngineResult signedResult : signedResults) { @SuppressWarnings("unchecked") List<WSDataRef> dataRefs = (List<WSDataRef>)signedResult.get(WSSecurityEngineResult.TAG_DATA_REF_URIS); if (dataRefs != null) { for (WSDataRef dataRef : dataRefs) { if (isElementOrAncestorSigned(elem, dataRef.getProtectedElement())) { return; } } } } } throw new WSSecurityException( WSSecurityException.FAILED_CHECK, "requiredElementNotSigned", new Object[] {elem}); }
|| reference.getURI().equals(samlAssertion.getId()) || reference.getURI().equals("#" + samlAssertion.getId())) { WSDataRef ref = new WSDataRef(); ref.setWsuId(reference.getURI()); ref.setProtectedElement(token); ref.setAlgorithm(signatureMethod); ref.setDigestAlgorithm(reference.getDigestMethod().getAlgorithm()); transformAlgorithms.add(transform.getAlgorithm()); ref.setTransformAlgorithms(transformAlgorithms); ref.setXpath(ReferenceListProcessor.getXPath(token)); protectedRefs.add(ref);
public static void verifySignedElement(Element elem, WSDocInfo wsDocInfo) throws WSSecurityException { List<WSSecurityEngineResult> signedResults = wsDocInfo.getResultsByTag(WSConstants.SIGN); if (signedResults != null) { for (WSSecurityEngineResult signedResult : signedResults) { @SuppressWarnings("unchecked") List<WSDataRef> dataRefs = (List<WSDataRef>)signedResult.get(WSSecurityEngineResult.TAG_DATA_REF_URIS); if (dataRefs != null) { for (WSDataRef dataRef : dataRefs) { if (isElementOrAncestorSigned(elem, dataRef.getProtectedElement())) { return; } } } } } throw new WSSecurityException( WSSecurityException.FAILED_CHECK, "requiredElementNotSigned", new Object[] {elem}); }
WSDataRef dataRef = new WSDataRef(); dataRef.setWsuId(dataRefURI); dataRef.setAlgorithm(symEncAlgo); boolean content = X509Util.isContent(encData); dataRef.setContent(content); soapHeader.replaceChild(decryptedHeader, parent); dataRef.setProtectedElement((Element)decryptedHeader); dataRef.setXpath(getXPath(decryptedHeader)); } else if (content) { dataRef.setProtectedElement(encData); dataRef.setXpath(getXPath(encData)); } else { Node decryptedNode; dataRef.setProtectedElement((Element)decryptedNode); dataRef.setXpath(getXPath(decryptedNode));
WSDataRef ref = new WSDataRef(); ref.setWsuId(uri); ref.setProtectedElement(se); ref.setAlgorithm(signedInfo.getSignatureMethod().getAlgorithm()); ref.setDigestAlgorithm(siRef.getDigestMethod().getAlgorithm()); transformAlgorithms.add(transform.getAlgorithm()); ref.setTransformAlgorithms(transformAlgorithms); ref.setXpath(ReferenceListProcessor.getXPath(se)); protectedRefs.add(ref);
if (refList != null) { for (WSDataRef dataRef : refList) { if (dataRef.getName().equals(requiredPart)) { found = true; break;
Element protectedElement = wsDataRef.getProtectedElement(); if (protectedElement.getLocalName().equals("EncryptedHeader")) { NodeList nodeList = protectedElement.getChildNodes();
for (int j = 0; j < signedElemsRefList.size(); j++) { WSDataRef dataRef = (WSDataRef)signedElemsRefList.get(j); String wsuId = dataRef.getWsuId(); if (wsuId.charAt(0) == '#') { wsuId = wsuId.substring(1);
WSDataRef dataRef = new WSDataRef(); dataRef.setWsuId(elem.getAttributeNS(null, "Id")); dataRef.setAlgorithm(symEncAlgo); dataRef.setContent(false); dataRef.setProtectedElement((Element)decryptedNode); dataRef.setXpath(ReferenceListProcessor.getXPath(decryptedNode)); if (wssConfig != null) { Element decryptedElem = dataRef.getProtectedElement(); QName el = new QName(decryptedElem.getNamespaceURI(), decryptedElem.getLocalName()); Processor proc = request.getWssConfig().getProcessor(el);
|| reference.getURI().equals(samlAssertion.getId()) || reference.getURI().equals("#" + samlAssertion.getId())) { WSDataRef ref = new WSDataRef(); ref.setWsuId(reference.getURI()); ref.setProtectedElement(token); ref.setAlgorithm(signatureMethod); ref.setDigestAlgorithm(reference.getDigestMethod().getAlgorithm()); transformAlgorithms.add(transform.getAlgorithm()); ref.setTransformAlgorithms(transformAlgorithms); ref.setXpath(ReferenceListProcessor.getXPath(token)); protectedRefs.add(ref);
if (refList != null) { for (WSDataRef dataRef : refList) { if (dataRef.getName().equals(requiredPart)) { found = true; break;
for (int j = 0; j < signedElemsRefList.size(); j++) { WSDataRef dataRef = (WSDataRef)signedElemsRefList.get(j); String wsuId = dataRef.getWsuId(); if (wsuId.charAt(0) == '#') { wsuId = wsuId.substring(1);
WSDataRef dataRef = new WSDataRef(); dataRef.setWsuId(elem.getAttributeNS(null, "Id")); dataRef.setAlgorithm(symEncAlgo); dataRef.setContent(false); dataRef.setProtectedElement((Element)decryptedNode); dataRef.setXpath(ReferenceListProcessor.getXPath(decryptedNode)); if (wssConfig != null) { Element decryptedElem = dataRef.getProtectedElement(); QName el = new QName(decryptedElem.getNamespaceURI(), decryptedElem.getLocalName()); Processor proc = request.getWssConfig().getProcessor(el);