You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by co...@apache.org on 2017/02/10 17:22:23 UTC

svn commit: r1782492 - in /webservices/wss4j/trunk/ws-security-dom/src: main/java/org/apache/wss4j/dom/engine/ main/java/org/apache/wss4j/dom/handler/ main/java/org/apache/wss4j/dom/processor/ main/java/org/apache/wss4j/dom/saml/ main/java/org/apache/w...

Author: coheigea
Date: Fri Feb 10 17:22:22 2017
New Revision: 1782492

URL: http://svn.apache.org/viewvc?rev=1782492&view=rev
Log:
Refactor of WSDocInfo + the Processor interface

Modified:
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/BinarySecurityTokenProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/DerivedKeyTokenProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedAssertionProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedDataProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedKeyProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/Processor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/ReferenceListProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SAMLTokenProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SecurityContextTokenProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureConfirmationProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/TimestampProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/UsernameTokenProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSecSignatureSAML.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/DerivedKeyTokenSTRParser.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/EncryptedKeySTRParser.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserParameters.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SecurityTokenRefSTRParser.java
    webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java
    webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomProcessor.java

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/engine/WSSecurityEngine.java Fri Feb 10 17:22:22 2017
@@ -317,6 +317,7 @@ public class WSSecurityEngine {
         wsDocInfo.setCallbackLookup(callbackLookupToUse);
         wsDocInfo.setCrypto(requestData.getSigVerCrypto());
         wsDocInfo.setSecurityHeader(securityHeader);
+        requestData.setWsDocInfo(wsDocInfo);
 
         final WSSConfig cfg = getWssConfig();
         Node node = securityHeader.getFirstChild();
@@ -341,8 +342,7 @@ public class WSSecurityEngine {
                 //
                 Processor p = cfg.getProcessor(el);
                 if (p != null) {
-                    List<WSSecurityEngineResult> results =
-                        p.handleToken((Element) node, requestData, wsDocInfo);
+                    List<WSSecurityEngineResult> results = p.handleToken((Element) node, requestData);
                     if (!results.isEmpty()) {
                         returnResults.addAll(0, results);
                     }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/handler/RequestData.java Fri Feb 10 17:22:22 2017
@@ -41,6 +41,7 @@ import org.apache.wss4j.common.crypto.Pa
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.dom.SOAPConstants;
 import org.apache.wss4j.dom.WSConstants;
+import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.message.WSSecHeader;
 import org.apache.wss4j.dom.validate.Validator;
@@ -91,6 +92,7 @@ public class RequestData {
     private boolean requireTimestampExpires;
     private boolean storeBytesInAttachment;
     private Serializer encryptionSerializer;
+    private WSDocInfo wsDocInfo;
 
     /**
      * Whether to add an InclusiveNamespaces PrefixList as a CanonicalizationMethod
@@ -750,4 +752,12 @@ public class RequestData {
     public void setAddUsernameTokenNonce(boolean addUsernameTokenNonce) {
         this.addUsernameTokenNonce = addUsernameTokenNonce;
     }
+
+    public WSDocInfo getWsDocInfo() {
+        return wsDocInfo;
+    }
+
+    public void setWsDocInfo(WSDocInfo wsDocInfo) {
+        this.wsDocInfo = wsDocInfo;
+    }
 }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/BinarySecurityTokenProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/BinarySecurityTokenProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/BinarySecurityTokenProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/BinarySecurityTokenProcessor.java Fri Feb 10 17:22:22 2017
@@ -32,7 +32,6 @@ import org.apache.wss4j.common.token.PKI
 import org.apache.wss4j.common.token.X509Security;
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.message.token.KerberosSecurity;
@@ -51,15 +50,14 @@ public class BinarySecurityTokenProcesso
      */
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         // See if the token has been previously processed
         String id = elem.getAttributeNS(WSConstants.WSU_NS, "Id");
         if (!"".equals(id)) {
-            Element foundElement = wsDocInfo.getTokenElement(id);
+            Element foundElement = data.getWsDocInfo().getTokenElement(id);
             if (elem.equals(foundElement)) {
-                WSSecurityEngineResult result = wsDocInfo.getResult(id);
+                WSSecurityEngineResult result = data.getWsDocInfo().getResult(id);
                 return java.util.Collections.singletonList(result);
             } else if (foundElement != null) {
                 throw new WSSecurityException(
@@ -81,7 +79,7 @@ public class BinarySecurityTokenProcesso
 
         WSSecurityEngineResult result =
             new WSSecurityEngineResult(WSConstants.BST, token, certs);
-        wsDocInfo.addTokenElement(elem);
+        data.getWsDocInfo().addTokenElement(elem);
         if (!"".equals(id)) {
             result.put(WSSecurityEngineResult.TAG_ID, id);
         }
@@ -121,7 +119,7 @@ public class BinarySecurityTokenProcesso
             }
         }
 
-        wsDocInfo.addResult(result);
+        data.getWsDocInfo().addResult(result);
         return java.util.Collections.singletonList(result);
     }
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/DerivedKeyTokenProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/DerivedKeyTokenProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/DerivedKeyTokenProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/DerivedKeyTokenProcessor.java Fri Feb 10 17:22:22 2017
@@ -24,7 +24,6 @@ import java.util.List;
 
 import org.w3c.dom.Element;
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.common.crypto.AlgorithmSuite;
 import org.apache.wss4j.common.crypto.AlgorithmSuiteValidator;
@@ -43,8 +42,7 @@ public class DerivedKeyTokenProcessor im
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         // Deserialize the DKT
         DerivedKeyToken dkt = new DerivedKeyToken(elem, data.getBSPEnforcer());
@@ -64,7 +62,6 @@ public class DerivedKeyTokenProcessor im
         if (secRefElement != null) {
             STRParserParameters parameters = new STRParserParameters();
             parameters.setData(data);
-            parameters.setWsDocInfo(wsDocInfo);
             parameters.setStrElement(secRefElement);
 
             STRParser strParser = new DerivedKeyTokenSTRParser();
@@ -83,7 +80,7 @@ public class DerivedKeyTokenProcessor im
         byte[] keyBytes = dkt.deriveKey(length, secret);
         WSSecurityEngineResult result =
             new WSSecurityEngineResult(WSConstants.DKT, null, keyBytes, null);
-        wsDocInfo.addTokenElement(elem);
+        data.getWsDocInfo().addTokenElement(elem);
         String tokenId = dkt.getID();
         if (!"".equals(tokenId)) {
             result.put(WSSecurityEngineResult.TAG_ID, tokenId);
@@ -91,7 +88,7 @@ public class DerivedKeyTokenProcessor im
         result.put(WSSecurityEngineResult.TAG_DERIVED_KEY_TOKEN, dkt);
         result.put(WSSecurityEngineResult.TAG_SECRET, secret);
         result.put(WSSecurityEngineResult.TAG_TOKEN_ELEMENT, dkt.getElement());
-        wsDocInfo.addResult(result);
+        data.getWsDocInfo().addResult(result);
         return Collections.singletonList(result);
     }
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedAssertionProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedAssertionProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedAssertionProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedAssertionProcessor.java Fri Feb 10 17:22:22 2017
@@ -31,7 +31,6 @@ import org.apache.wss4j.common.ext.WSSec
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDataRef;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 
@@ -45,8 +44,7 @@ public class EncryptedAssertionProcessor
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData request,
-        WSDocInfo wsDocInfo
+        RequestData request
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found EncryptedAssertion element");
@@ -74,7 +72,7 @@ public class EncryptedAssertionProcessor
                               ((Element)currentChild).getLocalName());
                 Processor proc = request.getWssConfig().getProcessor(el);
                 if (proc != null) {
-                    completeResults.addAll(proc.handleToken(((Element)currentChild), request, wsDocInfo));
+                    completeResults.addAll(proc.handleToken(((Element)currentChild), request));
                 }
             }
         }
@@ -98,8 +96,7 @@ public class EncryptedAssertionProcessor
                                 if (LOG.isDebugEnabled()) {
                                     LOG.debug("Processing decrypted element with: " + proc.getClass().getName());
                                 }
-                                List<WSSecurityEngineResult> results =
-                                    proc.handleToken(decryptedElem, request, wsDocInfo);
+                                List<WSSecurityEngineResult> results = proc.handleToken(decryptedElem, request);
                                 completeResults.addAll(0, results);
                                 return completeResults;
                             }
@@ -128,7 +125,7 @@ public class EncryptedAssertionProcessor
             if (LOG.isDebugEnabled()) {
                 LOG.debug("Processing decrypted element with: " + proc.getClass().getName());
             }
-            return proc.handleToken(encryptedDataElement, request, wsDocInfo);
+            return proc.handleToken(encryptedDataElement, request);
         }
 
         return Collections.emptyList();

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedDataProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedDataProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedDataProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedDataProcessor.java Fri Feb 10 17:22:22 2017
@@ -38,7 +38,6 @@ import org.apache.wss4j.common.util.KeyU
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDataRef;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSConfig;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
@@ -63,8 +62,7 @@ public class EncryptedDataProcessor impl
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData request,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found EncryptedData element");
@@ -82,7 +80,7 @@ public class EncryptedDataProcessor impl
         }
 
         String symEncAlgo = X509Util.getEncAlgo(elem);
-        checkBSPCompliance(symEncAlgo, request.getBSPEnforcer());
+        checkBSPCompliance(symEncAlgo, data.getBSPEnforcer());
 
         // Get the Key either via a SecurityTokenReference or an EncryptedKey
         Element secRefToken =
@@ -98,9 +96,9 @@ public class EncryptedDataProcessor impl
                 kiElem, "RetrievalMethod", WSConstants.SIG_NS
             );
 
-        if (request.isRequireSignedEncryptedDataElements()) {
+        if (data.isRequireSignedEncryptedDataElements()) {
             List<WSSecurityEngineResult> signedResults =
-                wsDocInfo.getResultsByTag(WSConstants.SIGN);
+                data.getWsDocInfo().getResultsByTag(WSConstants.SIGN);
             SignatureUtils.verifySignedElement(elem, signedResults);
         }
 
@@ -109,8 +107,7 @@ public class EncryptedDataProcessor impl
         Principal principal = null;
         if (secRefToken != null) {
             STRParserParameters parameters = new STRParserParameters();
-            parameters.setData(request);
-            parameters.setWsDocInfo(wsDocInfo);
+            parameters.setData(data);
             parameters.setStrElement(secRefToken);
             if (symEncAlgo != null) {
                 parameters.setDerivationKeyLength(KeyUtils.getKeyLength(symEncAlgo));
@@ -122,10 +119,10 @@ public class EncryptedDataProcessor impl
             principal = parserResult.getPrincipal();
             key = KeyUtils.prepareSecretKey(symEncAlgo, secretKey);
             encrKeyResults = new ArrayList<>();
-        } else if (encryptedKeyElement != null && request.getWssConfig() != null) {
-            WSSConfig wssConfig = request.getWssConfig();
+        } else if (encryptedKeyElement != null && data.getWssConfig() != null) {
+            WSSConfig wssConfig = data.getWssConfig();
             Processor encrKeyProc = wssConfig.getProcessor(WSConstants.ENCRYPTED_KEY);
-            encrKeyResults = encrKeyProc.handleToken(encryptedKeyElement, request, wsDocInfo);
+            encrKeyResults = encrKeyProc.handleToken(encryptedKeyElement, data);
             byte[] symmKey =
                 (byte[])encrKeyResults.get(0).get(WSSecurityEngineResult.TAG_SECRET);
             key = KeyUtils.prepareSecretKey(symEncAlgo, symmKey);
@@ -134,7 +131,7 @@ public class EncryptedDataProcessor impl
                 retrievalMethodElement.getAttributeNS(null, "Type"))) {
             String uri = retrievalMethodElement.getAttributeNS(null, "URI");
             uri = XMLUtils.getIDFromReference(uri);
-            WSSecurityEngineResult result = wsDocInfo.getResult(uri);
+            WSSecurityEngineResult result = data.getWsDocInfo().getResult(uri);
             if (result != null) {
                 byte[] symmKey = (byte[])result.get(WSSecurityEngineResult.TAG_SECRET);
                 key = KeyUtils.prepareSecretKey(symEncAlgo, symmKey);
@@ -146,7 +143,7 @@ public class EncryptedDataProcessor impl
         }
 
         // Check for compliance against the defined AlgorithmSuite
-        AlgorithmSuite algorithmSuite = request.getAlgorithmSuite();
+        AlgorithmSuite algorithmSuite = data.getAlgorithmSuite();
         if (algorithmSuite != null) {
             AlgorithmSuiteValidator algorithmSuiteValidator = new
                 AlgorithmSuiteValidator(algorithmSuite);
@@ -165,15 +162,15 @@ public class EncryptedDataProcessor impl
 
         WSDataRef dataRef = EncryptionUtils.decryptEncryptedData(
                 elem.getOwnerDocument(), encryptedDataId, elem, key, symEncAlgo,
-                request.getAttachmentCallbackHandler(), request.getEncryptionSerializer());
+                data.getAttachmentCallbackHandler(), data.getEncryptionSerializer());
 
         WSSecurityEngineResult result =
                 new WSSecurityEngineResult(WSConstants.ENCR, Collections.singletonList(dataRef));
         if (!"".equals(encryptedDataId)) {
             result.put(WSSecurityEngineResult.TAG_ID, encryptedDataId);
         }
-        wsDocInfo.addResult(result);
-        wsDocInfo.addTokenElement(elem);
+        data.getWsDocInfo().addResult(result);
+        data.getWsDocInfo().addTokenElement(elem);
 
         List<WSSecurityEngineResult> completeResults = new LinkedList<>();
         if (encrKeyResults != null) {
@@ -181,19 +178,18 @@ public class EncryptedDataProcessor impl
         }
         completeResults.add(result);
 
-        WSSConfig wssConfig = request.getWssConfig();
+        WSSConfig wssConfig = data.getWssConfig();
         if (wssConfig != null) {
             // Get hold of the plain text element
             Element decryptedElem = dataRef.getProtectedElement();
             if (decryptedElem != null) { //is null if we processed an attachment
                 QName el = new QName(decryptedElem.getNamespaceURI(), decryptedElem.getLocalName());
-                Processor proc = request.getWssConfig().getProcessor(el);
+                Processor proc = data.getWssConfig().getProcessor(el);
                 if (proc != null) {
                     if (LOG.isDebugEnabled()) {
                         LOG.debug("Processing decrypted element with: " + proc.getClass().getName());
                     }
-                    List<WSSecurityEngineResult> results =
-                            proc.handleToken(decryptedElem, request, wsDocInfo);
+                    List<WSSecurityEngineResult> results = proc.handleToken(decryptedElem, data);
                     completeResults.addAll(0, results);
                     return completeResults;
                 }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedKeyProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedKeyProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedKeyProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/EncryptedKeyProcessor.java Fri Feb 10 17:22:22 2017
@@ -74,16 +74,14 @@ public class EncryptedKeyProcessor imple
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
-        return handleToken(elem, data, wsDocInfo, data.getAlgorithmSuite());
+        return handleToken(elem, data, data.getAlgorithmSuite());
     }
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
         RequestData data,
-        WSDocInfo wsDocInfo,
         AlgorithmSuite algorithmSuite
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
@@ -93,7 +91,7 @@ public class EncryptedKeyProcessor imple
         // See if this key has already been processed. If so then just return the result
         String id = elem.getAttributeNS(null, "Id");
         if (!"".equals(id)) {
-             WSSecurityEngineResult result = wsDocInfo.getResult(id);
+             WSSecurityEngineResult result = data.getWsDocInfo().getResult(id);
              if (result != null 
                  && WSConstants.ENCR == (Integer)result.get(WSSecurityEngineResult.TAG_ACTION)
              ) {
@@ -146,7 +144,6 @@ public class EncryptedKeyProcessor imple
                 && WSConstants.WSSE_NS.equals(keyInfoChildElement.getNamespaceURI())) {
                 STRParserParameters parameters = new STRParserParameters();
                 parameters.setData(data);
-                parameters.setWsDocInfo(wsDocInfo);
                 parameters.setStrElement(keyInfoChildElement);
 
                 STRParser strParser = new EncryptedKeySTRParser();
@@ -208,16 +205,16 @@ public class EncryptedKeyProcessor imple
         }
 
         if (symmetricKeyWrap) {
-            decryptedBytes = getSymmetricDecryptedBytes(data, wsDocInfo, keyInfoChildElement,
+            decryptedBytes = getSymmetricDecryptedBytes(data, data.getWsDocInfo(), keyInfoChildElement,
                                                         refList, encryptedEphemeralKey);
         } else {
             PrivateKey privateKey = getPrivateKey(data, certs, publicKey);
-            decryptedBytes = getAsymmetricDecryptedBytes(data, wsDocInfo, encryptedKeyTransportMethod,
+            decryptedBytes = getAsymmetricDecryptedBytes(data, data.getWsDocInfo(), encryptedKeyTransportMethod,
                                                          encryptedEphemeralKey, refList,
                                                          elem, privateKey);
         }
 
-        List<WSDataRef> dataRefs = decryptDataRefs(refList, wsDocInfo, decryptedBytes, data);
+        List<WSDataRef> dataRefs = decryptDataRefs(refList, data.getWsDocInfo(), decryptedBytes, data);
 
         WSSecurityEngineResult result = new WSSecurityEngineResult(
                 WSConstants.ENCR,
@@ -241,8 +238,8 @@ public class EncryptedKeyProcessor imple
         if (publicKey != null) {
             result.put(WSSecurityEngineResult.TAG_PUBLIC_KEY, publicKey);
         }
-        wsDocInfo.addResult(result);
-        wsDocInfo.addTokenElement(elem);
+        data.getWsDocInfo().addResult(result);
+        data.getWsDocInfo().addTokenElement(elem);
         return Collections.singletonList(result);
     }
     

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/Processor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/Processor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/Processor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/Processor.java Fri Feb 10 17:22:22 2017
@@ -19,7 +19,6 @@
 
 package org.apache.wss4j.dom.processor;
 
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.dom.handler.RequestData;
@@ -31,8 +30,7 @@ public interface Processor {
 
     List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData request,
-        WSDocInfo wsDocInfo
+        RequestData request
     ) throws WSSecurityException;
 
 }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/ReferenceListProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/ReferenceListProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/ReferenceListProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/ReferenceListProcessor.java Fri Feb 10 17:22:22 2017
@@ -41,7 +41,6 @@ import org.apache.wss4j.common.util.KeyU
 import org.apache.wss4j.common.util.XMLUtils;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDataRef;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.str.STRParser;
@@ -58,21 +57,20 @@ public class ReferenceListProcessor impl
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found reference list element");
         }
-        List<WSDataRef> dataRefs = handleReferenceList(elem, data, wsDocInfo);
+        List<WSDataRef> dataRefs = handleReferenceList(elem, data);
         WSSecurityEngineResult result =
             new WSSecurityEngineResult(WSConstants.ENCR, dataRefs);
         String tokenId = elem.getAttributeNS(null, "Id");
         if (!"".equals(tokenId)) {
             result.put(WSSecurityEngineResult.TAG_ID, tokenId);
         }
-        wsDocInfo.addTokenElement(elem);
-        wsDocInfo.addResult(result);
+        data.getWsDocInfo().addTokenElement(elem);
+        data.getWsDocInfo().addResult(result);
         return Collections.singletonList(result);
     }
 
@@ -84,8 +82,7 @@ public class ReferenceListProcessor impl
      */
     private List<WSDataRef> handleReferenceList(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         List<WSDataRef> dataRefs = new ArrayList<>();
         for (Node node = elem.getFirstChild();
@@ -99,10 +96,9 @@ public class ReferenceListProcessor impl
                 dataRefURI = XMLUtils.getIDFromReference(dataRefURI);
 
                 // See whether we have already processed the encrypted node
-                if (!wsDocInfo.hasResult(WSConstants.ENCR, dataRefURI)) {
+                if (!data.getWsDocInfo().hasResult(WSConstants.ENCR, dataRefURI)) {
                     WSDataRef dataRef =
-                        decryptDataRefEmbedded(
-                            elem.getOwnerDocument(), dataRefURI, data, wsDocInfo);
+                        decryptDataRefEmbedded(elem.getOwnerDocument(), dataRefURI, data);
                     dataRefs.add(dataRef);
                 }
             }
@@ -118,8 +114,7 @@ public class ReferenceListProcessor impl
     private WSDataRef decryptDataRefEmbedded(
         Document doc,
         String dataRefURI,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found data reference: " + dataRefURI);
@@ -128,11 +123,11 @@ public class ReferenceListProcessor impl
         // Find the encrypted data element referenced by dataRefURI
         //
         Element encryptedDataElement =
-            EncryptionUtils.findEncryptedDataElement(doc, wsDocInfo, dataRefURI);
+            EncryptionUtils.findEncryptedDataElement(doc, data.getWsDocInfo(), dataRefURI);
 
         if (encryptedDataElement != null && data.isRequireSignedEncryptedDataElements()) {
             List<WSSecurityEngineResult> signedResults =
-                wsDocInfo.getResultsByTag(WSConstants.SIGN);
+                data.getWsDocInfo().getResultsByTag(WSConstants.SIGN);
             SignatureUtils.verifySignedElement(encryptedDataElement, signedResults);
         }
         //
@@ -167,7 +162,6 @@ public class ReferenceListProcessor impl
         } else {
             STRParserParameters parameters = new STRParserParameters();
             parameters.setData(data);
-            parameters.setWsDocInfo(wsDocInfo);
             parameters.setStrElement(secRefToken);
             if (symEncAlgo != null) {
                 parameters.setDerivationKeyLength(KeyUtils.getKeyLength(symEncAlgo));

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SAMLTokenProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SAMLTokenProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SAMLTokenProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SAMLTokenProcessor.java Fri Feb 10 17:22:22 2017
@@ -43,7 +43,6 @@ import org.apache.wss4j.common.saml.Saml
 import org.apache.wss4j.common.util.DOM2Writer;
 import org.apache.wss4j.dom.WSConstants;
 import org.apache.wss4j.dom.WSDataRef;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.saml.WSSSAMLKeyInfoProcessor;
@@ -71,8 +70,7 @@ public class SAMLTokenProcessor implemen
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found SAML Assertion element");
@@ -82,12 +80,10 @@ public class SAMLTokenProcessor implemen
             data.getValidator(new QName(elem.getNamespaceURI(), elem.getLocalName()));
 
         SamlAssertionWrapper samlAssertion = new SamlAssertionWrapper(elem);
-        XMLSignature xmlSignature =
-            verifySignatureKeysAndAlgorithms(samlAssertion, data, wsDocInfo);
+        XMLSignature xmlSignature = verifySignatureKeysAndAlgorithms(samlAssertion, data);
         List<WSDataRef> dataRefs = createDataRefs(elem, samlAssertion, xmlSignature);
 
-        Credential credential =
-            handleSAMLToken(samlAssertion, data, validator, wsDocInfo);
+        Credential credential = handleSAMLToken(samlAssertion, data, validator);
         samlAssertion = credential.getSamlAssertion();
         if (LOG.isDebugEnabled()) {
             LOG.debug("SAML Assertion issuer " + samlAssertion.getIssuerString());
@@ -96,9 +92,9 @@ public class SAMLTokenProcessor implemen
 
         // See if the token has been previously processed
         String id = samlAssertion.getId();
-        Element foundElement = wsDocInfo.getTokenElement(id);
+        Element foundElement = data.getWsDocInfo().getTokenElement(id);
         if (elem.equals(foundElement)) {
-            WSSecurityEngineResult result = wsDocInfo.getResult(id);
+            WSSecurityEngineResult result = data.getWsDocInfo().getResult(id);
             return java.util.Collections.singletonList(result);
         } else if (foundElement != null) {
             throw new WSSecurityException(
@@ -106,7 +102,7 @@ public class SAMLTokenProcessor implemen
             );
         }
 
-        wsDocInfo.addTokenElement(elem);
+        data.getWsDocInfo().addTokenElement(elem);
         WSSecurityEngineResult result = null;
         if (samlAssertion.isSigned()) {
             result = new WSSecurityEngineResult(WSConstants.ST_SIGNED, samlAssertion);
@@ -139,19 +135,18 @@ public class SAMLTokenProcessor implemen
             }
             result.put(WSSecurityEngineResult.TAG_SUBJECT, credential.getSubject());
         }
-        wsDocInfo.addResult(result);
+        data.getWsDocInfo().addResult(result);
         return java.util.Collections.singletonList(result);
     }
 
     public Credential handleSAMLToken(
         SamlAssertionWrapper samlAssertion,
         RequestData data,
-        Validator validator,
-        WSDocInfo docInfo
+        Validator validator
     ) throws WSSecurityException {
         // Parse the subject if it exists
         samlAssertion.parseSubject(
-            new WSSSAMLKeyInfoProcessor(data, docInfo), data.getSigVerCrypto(),
+            new WSSSAMLKeyInfoProcessor(data), data.getSigVerCrypto(),
             data.getCallbackHandler()
         );
 
@@ -166,8 +161,7 @@ public class SAMLTokenProcessor implemen
 
     private XMLSignature verifySignatureKeysAndAlgorithms(
         SamlAssertionWrapper samlAssertion,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (samlAssertion.isSigned()) {
             Signature sig = samlAssertion.getSignature();
@@ -180,7 +174,7 @@ public class SAMLTokenProcessor implemen
             }
             SAMLKeyInfo samlKeyInfo =
                 SAMLUtil.getCredentialFromKeyInfo(
-                    keyInfo.getDOM(), new WSSSAMLKeyInfoProcessor(data, wsDocInfo), data.getSigVerCrypto()
+                    keyInfo.getDOM(), new WSSSAMLKeyInfoProcessor(data), data.getSigVerCrypto()
                 );
 
             PublicKey key = null;

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SecurityContextTokenProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SecurityContextTokenProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SecurityContextTokenProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SecurityContextTokenProcessor.java Fri Feb 10 17:22:22 2017
@@ -20,7 +20,6 @@
 package org.apache.wss4j.dom.processor;
 
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.common.ext.WSPasswordCallback;
 import org.apache.wss4j.common.ext.WSSecurityException;
@@ -46,8 +45,7 @@ public class SecurityContextTokenProcess
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         SecurityContextToken sct = new SecurityContextToken(elem);
 
@@ -85,8 +83,8 @@ public class SecurityContextTokenProcess
             result.put(WSSecurityEngineResult.TAG_SECRET, secret);
         }
 
-        wsDocInfo.addTokenElement(elem);
-        wsDocInfo.addResult(result);
+        data.getWsDocInfo().addTokenElement(elem);
+        data.getWsDocInfo().addResult(result);
         return java.util.Collections.singletonList(result);
     }
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureConfirmationProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureConfirmationProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureConfirmationProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureConfirmationProcessor.java Fri Feb 10 17:22:22 2017
@@ -20,7 +20,6 @@
 package org.apache.wss4j.dom.processor;
 
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.dom.handler.RequestData;
@@ -35,8 +34,7 @@ public class SignatureConfirmationProces
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found SignatureConfirmation list element");
@@ -52,8 +50,8 @@ public class SignatureConfirmationProces
         if (!"".equals(tokenId)) {
             result.put(WSSecurityEngineResult.TAG_ID, tokenId);
         }
-        wsDocInfo.addResult(result);
-        wsDocInfo.addTokenElement(elem);
+        data.getWsDocInfo().addResult(result);
+        data.getWsDocInfo().addTokenElement(elem);
         return java.util.Collections.singletonList(result);
     }
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/SignatureProcessor.java Fri Feb 10 17:22:22 2017
@@ -106,8 +106,7 @@ public class SignatureProcessor implemen
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found signature element");
@@ -159,7 +158,6 @@ public class SignatureProcessor implemen
             } else {
                 STRParserParameters parameters = new STRParserParameters();
                 parameters.setData(data);
-                parameters.setWsDocInfo(wsDocInfo);
                 parameters.setStrElement(child);
                 if (signatureMethod != null) {
                     parameters.setDerivationKeyLength(KeyUtils.getKeyLength(signatureMethod));
@@ -222,13 +220,13 @@ public class SignatureProcessor implemen
         }
 
         XMLSignature xmlSignature =
-            verifyXMLSignature(elem, certs, publicKey, secretKey, signatureMethod, data, wsDocInfo);
+            verifyXMLSignature(elem, certs, publicKey, secretKey, signatureMethod, data, data.getWsDocInfo());
         byte[] signatureValue = xmlSignature.getSignatureValue().getValue();
         String c14nMethod = xmlSignature.getSignedInfo().getCanonicalizationMethod().getAlgorithm();
 
         List<WSDataRef> dataRefs =
             buildProtectedRefs(
-                elem.getOwnerDocument(), xmlSignature.getSignedInfo(), data, wsDocInfo
+                elem.getOwnerDocument(), xmlSignature.getSignedInfo(), data, data.getWsDocInfo()
             );
         if (dataRefs.isEmpty()) {
             throw new WSSecurityException(WSSecurityException.ErrorCode.FAILED_CHECK);
@@ -258,8 +256,8 @@ public class SignatureProcessor implemen
                 result.put(WSSecurityEngineResult.TAG_SUBJECT, credential.getSubject());
             }
         }
-        wsDocInfo.addResult(result);
-        wsDocInfo.addTokenElement(elem);
+        data.getWsDocInfo().addResult(result);
+        data.getWsDocInfo().addTokenElement(elem);
         return java.util.Collections.singletonList(result);
     }
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/TimestampProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/TimestampProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/TimestampProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/TimestampProcessor.java Fri Feb 10 17:22:22 2017
@@ -23,7 +23,6 @@ import java.util.List;
 
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.message.token.Timestamp;
@@ -37,8 +36,7 @@ public class TimestampProcessor implemen
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found Timestamp list element");
@@ -64,8 +62,8 @@ public class TimestampProcessor implemen
             result.put(WSSecurityEngineResult.TAG_VALIDATED_TOKEN, Boolean.TRUE);
         }
 
-        wsDocInfo.addTokenElement(elem);
-        wsDocInfo.addResult(result);
+        data.getWsDocInfo().addTokenElement(elem);
+        data.getWsDocInfo().addResult(result);
         return java.util.Collections.singletonList(result);
     }
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/UsernameTokenProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/UsernameTokenProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/UsernameTokenProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/processor/UsernameTokenProcessor.java Fri Feb 10 17:22:22 2017
@@ -29,7 +29,6 @@ import org.w3c.dom.Element;
 import org.apache.wss4j.common.cache.ReplayCache;
 import org.apache.wss4j.common.ext.WSSecurityException;
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.message.token.UsernameToken;
@@ -42,8 +41,7 @@ public class UsernameTokenProcessor impl
 
     public List<WSSecurityEngineResult> handleToken(
         Element elem,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Found UsernameToken list element");
@@ -51,9 +49,9 @@ public class UsernameTokenProcessor impl
         // See if the token has been previously processed
         String id = elem.getAttributeNS(WSConstants.WSU_NS, "Id");
         if (!"".equals(id)) {
-            Element foundElement = wsDocInfo.getTokenElement(id);
+            Element foundElement = data.getWsDocInfo().getTokenElement(id);
             if (elem.equals(foundElement)) {
-                WSSecurityEngineResult result = wsDocInfo.getResult(id);
+                WSSecurityEngineResult result = data.getWsDocInfo().getResult(id);
                 return java.util.Collections.singletonList(result);
             } else if (foundElement != null) {
                 throw new WSSecurityException(
@@ -109,8 +107,8 @@ public class UsernameTokenProcessor impl
             result.put(WSSecurityEngineResult.TAG_SUBJECT, credential.getSubject());
         }
 
-        wsDocInfo.addTokenElement(elem);
-        wsDocInfo.addResult(result);
+        data.getWsDocInfo().addTokenElement(elem);
+        data.getWsDocInfo().addResult(result);
         return java.util.Collections.singletonList(result);
     }
 

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSSAMLKeyInfoProcessor.java Fri Feb 10 17:22:22 2017
@@ -36,7 +36,6 @@ import org.apache.wss4j.common.saml.SAML
 import org.apache.wss4j.common.saml.SAMLKeyInfoProcessor;
 import org.apache.wss4j.common.token.SecurityTokenReference;
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.processor.EncryptedKeyProcessor;
@@ -60,11 +59,9 @@ public class WSSSAMLKeyInfoProcessor imp
         new QName(WST_NS_05_12, "BinarySecret");
 
     private RequestData data;
-    private WSDocInfo docInfo;
 
-    public WSSSAMLKeyInfoProcessor(RequestData data, WSDocInfo docInfo) {
+    public WSSSAMLKeyInfoProcessor(RequestData data) {
         this.data = data;
-        this.docInfo = docInfo;
     }
 
     public SAMLKeyInfo processSAMLKeyInfo(Element keyInfoElement) throws WSSecurityException {
@@ -82,7 +79,7 @@ public class WSSSAMLKeyInfoProcessor imp
                 if (el.equals(WSConstants.ENCRYPTED_KEY)) {
                     EncryptedKeyProcessor proc = new EncryptedKeyProcessor();
                     List<WSSecurityEngineResult> result =
-                        proc.handleToken((Element)node, data, docInfo, data.getSamlAlgorithmSuite());
+                        proc.handleToken((Element)node, data, data.getSamlAlgorithmSuite());
                     byte[] secret =
                         (byte[])result.get(0).get(
                             WSSecurityEngineResult.TAG_SECRET
@@ -94,7 +91,6 @@ public class WSSSAMLKeyInfoProcessor imp
                 } else if (SecurityTokenReference.STR_QNAME.equals(el)) {
                     STRParserParameters parameters = new STRParserParameters();
                     parameters.setData(data);
-                    parameters.setWsDocInfo(docInfo);
                     parameters.setStrElement((Element)node);
 
                     STRParser strParser = new SignatureSTRParser();

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSecSignatureSAML.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSecSignatureSAML.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSecSignatureSAML.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/saml/WSSecSignatureSAML.java Fri Feb 10 17:22:22 2017
@@ -244,12 +244,13 @@ public class WSSecSignatureSAML extends
             }
             if (secretKey == null) {
                 RequestData data = new RequestData();
+                data.setWsDocInfo(getWsDocInfo());
                 SignatureActionToken actionToken = new SignatureActionToken();
                 data.setSignatureToken(actionToken);
                 actionToken.setCrypto(userCrypto);
                 SAMLKeyInfo samlKeyInfo =
                     SAMLUtil.getCredentialFromSubject(
-                            samlAssertion, new WSSSAMLKeyInfoProcessor(data, getWsDocInfo()),
+                            samlAssertion, new WSSSAMLKeyInfoProcessor(data),
                             userCrypto, data.getCallbackHandler()
                     );
                 if (samlKeyInfo != null) {

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/DerivedKeyTokenSTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/DerivedKeyTokenSTRParser.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/DerivedKeyTokenSTRParser.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/DerivedKeyTokenSTRParser.java Fri Feb 10 17:22:22 2017
@@ -53,7 +53,7 @@ public class DerivedKeyTokenSTRParser im
      */
     public STRParserResult parseSecurityTokenReference(STRParserParameters parameters) throws WSSecurityException {
 
-        if (parameters == null || parameters.getData() == null || parameters.getWsDocInfo() == null
+        if (parameters == null || parameters.getData() == null || parameters.getData().getWsDocInfo() == null
             || parameters.getStrElement() == null) {
             throw new WSSecurityException(
                 WSSecurityException.ErrorCode.FAILURE, "invalidSTRParserParameter"
@@ -71,7 +71,7 @@ public class DerivedKeyTokenSTRParser im
             uri = secRef.getKeyIdentifierValue();
         }
 
-        WSSecurityEngineResult result = parameters.getWsDocInfo().getResult(uri);
+        WSSecurityEngineResult result = parameters.getData().getWsDocInfo().getResult(uri);
         if (result != null) {
             return processPreviousResult(result, secRef, parameters);
         }
@@ -110,8 +110,7 @@ public class DerivedKeyTokenSTRParser im
             STRParserUtil.checkSamlTokenBSPCompliance(secRef, samlAssertion, data.getBSPEnforcer());
 
             SAMLKeyInfo keyInfo =
-                SAMLUtil.getCredentialFromSubject(samlAssertion,
-                        new WSSSAMLKeyInfoProcessor(data, parameters.getWsDocInfo()),
+                SAMLUtil.getCredentialFromSubject(samlAssertion, new WSSSAMLKeyInfoProcessor(data),
                         data.getSigVerCrypto(), data.getCallbackHandler());
             // TODO Handle malformed SAML tokens where they don't have the
             // secret in them
@@ -155,7 +154,7 @@ public class DerivedKeyTokenSTRParser im
                 if (secretKey == null) {
                     byte[] keyBytes = secRef.getSKIBytes();
                     List<WSSecurityEngineResult> resultsList =
-                        parameters.getWsDocInfo().getResultsByTag(WSConstants.BST);
+                        data.getWsDocInfo().getResultsByTag(WSConstants.BST);
                     for (WSSecurityEngineResult bstResult : resultsList) {
                         BinarySecurity bstToken =
                             (BinarySecurity)bstResult.get(WSSecurityEngineResult.TAG_BINARY_SECURITY_TOKEN);

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/EncryptedKeySTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/EncryptedKeySTRParser.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/EncryptedKeySTRParser.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/EncryptedKeySTRParser.java Fri Feb 10 17:22:22 2017
@@ -54,7 +54,7 @@ public class EncryptedKeySTRParser imple
      * @throws WSSecurityException
      */
     public STRParserResult parseSecurityTokenReference(STRParserParameters parameters) throws WSSecurityException {
-        if (parameters == null || parameters.getData() == null || parameters.getWsDocInfo() == null
+        if (parameters == null || parameters.getData() == null || parameters.getData().getWsDocInfo() == null
             || parameters.getStrElement() == null) {
             throw new WSSecurityException(
                 WSSecurityException.ErrorCode.FAILURE, "invalidSTRParserParameter"
@@ -72,7 +72,7 @@ public class EncryptedKeySTRParser imple
             uri = secRef.getKeyIdentifierValue();
         }
 
-        WSSecurityEngineResult result = parameters.getWsDocInfo().getResult(uri);
+        WSSecurityEngineResult result = parameters.getData().getWsDocInfo().getResult(uri);
         if (result != null) {
             return processPreviousResult(result, secRef, parameters);
         }
@@ -110,8 +110,7 @@ public class EncryptedKeySTRParser imple
             STRParserUtil.checkSamlTokenBSPCompliance(secRef, samlAssertion, data.getBSPEnforcer());
 
             SAMLKeyInfo keyInfo =
-                SAMLUtil.getCredentialFromSubject(samlAssertion,
-                        new WSSSAMLKeyInfoProcessor(data, parameters.getWsDocInfo()),
+                SAMLUtil.getCredentialFromSubject(samlAssertion, new WSSSAMLKeyInfoProcessor(data),
                         data.getSigVerCrypto(), data.getCallbackHandler());
             parserResult.setCerts(keyInfo.getCerts());
             parserResult.setPublicKey(keyInfo.getPublicKey());
@@ -135,7 +134,7 @@ public class EncryptedKeySTRParser imple
         STRParserResult parserResult = new STRParserResult();
         RequestData data = parameters.getData();
         Element strElement = parameters.getStrElement();
-        WSDocInfo wsDocInfo = parameters.getWsDocInfo();
+        WSDocInfo wsDocInfo = data.getWsDocInfo();
         Crypto crypto = data.getDecCrypto();
 
         if (secRef.containsKeyIdentifier()) {
@@ -143,13 +142,13 @@ public class EncryptedKeySTRParser imple
                 || WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(secRef.getKeyIdentifierValueType())) {
                 SamlAssertionWrapper samlAssertion =
                     STRParserUtil.getAssertionFromKeyIdentifier(
-                        secRef, strElement, data, wsDocInfo
+                        secRef, strElement, data
                     );
                 STRParserUtil.checkSamlTokenBSPCompliance(secRef, samlAssertion, data.getBSPEnforcer());
 
                 SAMLKeyInfo samlKi =
                     SAMLUtil.getCredentialFromSubject(samlAssertion,
-                            new WSSSAMLKeyInfoProcessor(data, wsDocInfo),
+                            new WSSSAMLKeyInfoProcessor(data),
                             data.getSigVerCrypto(), data.getCallbackHandler());
                 parserResult.setCerts(samlKi.getCerts());
                 parserResult.setPublicKey(samlKi.getPublicKey());

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserParameters.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserParameters.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserParameters.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserParameters.java Fri Feb 10 17:22:22 2017
@@ -21,7 +21,6 @@ package org.apache.wss4j.dom.str;
 
 import org.w3c.dom.Element;
 
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.handler.RequestData;
 
 /**
@@ -32,7 +31,6 @@ public class STRParserParameters {
     private int derivationKeyLength;
     private Element strElement;
     private RequestData data;
-    private WSDocInfo wsDocInfo;
 
     public int getDerivationKeyLength() {
         return derivationKeyLength;
@@ -58,13 +56,4 @@ public class STRParserParameters {
         this.data = data;
     }
 
-    public WSDocInfo getWsDocInfo() {
-        return wsDocInfo;
-    }
-
-    public void setWsDocInfo(WSDocInfo wsDocInfo) {
-        this.wsDocInfo = wsDocInfo;
-    }
-
-
 }

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/STRParserUtil.java Fri Feb 10 17:22:22 2017
@@ -71,12 +71,11 @@ public final class STRParserUtil {
     public static SamlAssertionWrapper getAssertionFromKeyIdentifier(
         SecurityTokenReference secRef,
         Element strElement,
-        RequestData request,
-        WSDocInfo wsDocInfo
+        RequestData request
     ) throws WSSecurityException {
         String keyIdentifierValue = secRef.getKeyIdentifierValue();
         String type = secRef.getKeyIdentifierValueType();
-        WSSecurityEngineResult result = wsDocInfo.getResult(keyIdentifierValue);
+        WSSecurityEngineResult result = request.getWsDocInfo().getResult(keyIdentifierValue);
 
         SamlAssertionWrapper samlAssertion = null;
         Element token = null;
@@ -87,7 +86,7 @@ public final class STRParserUtil {
         } else {
             token =
                 findProcessedTokenElement(
-                    strElement.getOwnerDocument(), wsDocInfo, request.getCallbackHandler(),
+                    strElement.getOwnerDocument(), request.getWsDocInfo(), request.getCallbackHandler(),
                     keyIdentifierValue, type
                 );
             if (token != null) {
@@ -100,7 +99,7 @@ public final class STRParserUtil {
             }
             token =
                 findUnprocessedTokenElement(
-                    strElement.getOwnerDocument(), wsDocInfo, request.getCallbackHandler(),
+                    strElement.getOwnerDocument(), request.getWsDocInfo(), request.getCallbackHandler(),
                     keyIdentifierValue, type
                 );
 
@@ -110,8 +109,7 @@ public final class STRParserUtil {
                 );
             }
             Processor proc = request.getWssConfig().getProcessor(WSConstants.SAML_TOKEN);
-            List<WSSecurityEngineResult> samlResult =
-                proc.handleToken(token, request, wsDocInfo);
+            List<WSSecurityEngineResult> samlResult = proc.handleToken(token, request);
             return
                 (SamlAssertionWrapper)samlResult.get(0).get(
                     WSSecurityEngineResult.TAG_SAML_ASSERTION

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SecurityTokenRefSTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SecurityTokenRefSTRParser.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SecurityTokenRefSTRParser.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SecurityTokenRefSTRParser.java Fri Feb 10 17:22:22 2017
@@ -59,7 +59,7 @@ public class SecurityTokenRefSTRParser i
      */
     public STRParserResult parseSecurityTokenReference(STRParserParameters parameters) throws WSSecurityException {
 
-        if (parameters == null || parameters.getData() == null || parameters.getWsDocInfo() == null
+        if (parameters == null || parameters.getData() == null || parameters.getData().getWsDocInfo() == null
             || parameters.getStrElement() == null) {
             throw new WSSecurityException(
                 WSSecurityException.ErrorCode.FAILURE, "invalidSTRParserParameter"
@@ -77,7 +77,7 @@ public class SecurityTokenRefSTRParser i
             uri = secRef.getKeyIdentifierValue();
         }
 
-        WSSecurityEngineResult result = parameters.getWsDocInfo().getResult(uri);
+        WSSecurityEngineResult result = parameters.getData().getWsDocInfo().getResult(uri);
         if (result != null) {
             return processPreviousResult(result, secRef, uri, parameters);
         }
@@ -91,13 +91,11 @@ public class SecurityTokenRefSTRParser i
     private byte[] getSecretKeyFromAssertion(
         SamlAssertionWrapper samlAssertion,
         SecurityTokenReference secRef,
-        RequestData data,
-        WSDocInfo wsDocInfo
+        RequestData data
     ) throws WSSecurityException {
         STRParserUtil.checkSamlTokenBSPCompliance(secRef, samlAssertion, data.getBSPEnforcer());
         SAMLKeyInfo samlKi =
-            SAMLUtil.getCredentialFromSubject(samlAssertion,
-                    new WSSSAMLKeyInfoProcessor(data, wsDocInfo),
+            SAMLUtil.getCredentialFromSubject(samlAssertion, new WSSSAMLKeyInfoProcessor(data),
                     data.getSigVerCrypto(), data.getCallbackHandler());
         if (samlKi == null) {
             throw new WSSecurityException(
@@ -137,7 +135,7 @@ public class SecurityTokenRefSTRParser i
             SamlAssertionWrapper samlAssertion =
                 (SamlAssertionWrapper)result.get(WSSecurityEngineResult.TAG_SAML_ASSERTION);
             byte[] secretKey =
-                getSecretKeyFromAssertion(samlAssertion, secRef, data, parameters.getWsDocInfo());
+                getSecretKeyFromAssertion(samlAssertion, secRef, data);
             parserResult.setSecretKey(secretKey);
         } else if (action != null
             && (WSConstants.SCT == action.intValue() || WSConstants.BST == action.intValue())) {
@@ -171,7 +169,7 @@ public class SecurityTokenRefSTRParser i
         STRParserResult parserResult = new STRParserResult();
         RequestData data = parameters.getData();
         Element strElement = parameters.getStrElement();
-        WSDocInfo wsDocInfo = parameters.getWsDocInfo();
+        WSDocInfo wsDocInfo = data.getWsDocInfo();
 
         if (secRef.containsReference()) {
             Reference reference = secRef.getReference();
@@ -186,8 +184,7 @@ public class SecurityTokenRefSTRParser i
                 QName el = new QName(token.getNamespaceURI(), token.getLocalName());
                 if (el.equals(WSConstants.BINARY_TOKEN)) {
                     Processor proc = data.getWssConfig().getProcessor(WSConstants.BINARY_TOKEN);
-                    List<WSSecurityEngineResult> bstResult =
-                            proc.handleToken(token, data, wsDocInfo);
+                    List<WSSecurityEngineResult> bstResult = proc.handleToken(token, data);
                     BinarySecurity bstToken =
                             (BinarySecurity)bstResult.get(0).get(WSSecurityEngineResult.TAG_BINARY_SECURITY_TOKEN);
                     STRParserUtil.checkBinarySecurityBSPCompliance(secRef, bstToken, data.getBSPEnforcer());
@@ -210,10 +207,9 @@ public class SecurityTokenRefSTRParser i
                 if (secretKey == null) {
                     SamlAssertionWrapper samlAssertion =
                         STRParserUtil.getAssertionFromKeyIdentifier(
-                            secRef, strElement,
-                            data, wsDocInfo
+                            secRef, strElement, data
                         );
-                    secretKey = getSecretKeyFromAssertion(samlAssertion, secRef, data, wsDocInfo);
+                    secretKey = getSecretKeyFromAssertion(samlAssertion, secRef, data);
                 }
                 parserResult.setSecretKey(secretKey);
             } else if (WSConstants.WSS_KRB_KI_VALUE_TYPE.equals(valueType)) {

Modified: webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/main/java/org/apache/wss4j/dom/str/SignatureSTRParser.java Fri Feb 10 17:22:22 2017
@@ -69,7 +69,7 @@ public class SignatureSTRParser implemen
      */
     public STRParserResult parseSecurityTokenReference(STRParserParameters parameters) throws WSSecurityException {
 
-        if (parameters == null || parameters.getData() == null || parameters.getWsDocInfo() == null
+        if (parameters == null || parameters.getData() == null || parameters.getData().getWsDocInfo() == null
             || parameters.getStrElement() == null) {
             throw new WSSecurityException(
                 WSSecurityException.ErrorCode.FAILURE, "invalidSTRParserParameter"
@@ -91,7 +91,7 @@ public class SignatureSTRParser implemen
             uri = secRef.getKeyIdentifierValue();
         }
 
-        WSSecurityEngineResult result = parameters.getWsDocInfo().getResult(uri);
+        WSSecurityEngineResult result = parameters.getData().getWsDocInfo().getResult(uri);
         if (result != null) {
             return processPreviousResult(result, secRef, parameters);
         }
@@ -124,7 +124,6 @@ public class SignatureSTRParser implemen
      */
     private void parseSAMLKeyIdentifier(
         SecurityTokenReference secRef,
-        WSDocInfo wsDocInfo,
         RequestData data,
         STRParserResult parserResult
     ) throws WSSecurityException {
@@ -134,13 +133,13 @@ public class SignatureSTRParser implemen
         if (secretKey == null) {
             SamlAssertionWrapper samlAssertion =
                 STRParserUtil.getAssertionFromKeyIdentifier(
-                    secRef, secRef.getElement(), data, wsDocInfo
+                    secRef, secRef.getElement(), data
                 );
             STRParserUtil.checkSamlTokenBSPCompliance(secRef, samlAssertion, data.getBSPEnforcer());
 
             SAMLKeyInfo samlKi =
                 SAMLUtil.getCredentialFromSubject(samlAssertion,
-                        new WSSSAMLKeyInfoProcessor(data, wsDocInfo),
+                        new WSSSAMLKeyInfoProcessor(data),
                         data.getSigVerCrypto(), data.getCallbackHandler());
             X509Certificate[] foundCerts = samlKi.getCerts();
             if (foundCerts != null && foundCerts.length > 0) {
@@ -159,7 +158,6 @@ public class SignatureSTRParser implemen
     private void parseBSTKeyIdentifier(
         SecurityTokenReference secRef,
         Crypto crypto,
-        WSDocInfo wsDocInfo,
         RequestData data,
         STRParserResult parserResult
     ) throws WSSecurityException {
@@ -173,7 +171,7 @@ public class SignatureSTRParser implemen
             if (secretKey == null) {
                 byte[] keyBytes = secRef.getSKIBytes();
                 List<WSSecurityEngineResult> resultsList =
-                    wsDocInfo.getResultsByTag(WSConstants.BST);
+                    data.getWsDocInfo().getResultsByTag(WSConstants.BST);
                 for (WSSecurityEngineResult bstResult : resultsList) {
                     BinarySecurity bstToken =
                         (BinarySecurity)bstResult.get(WSSecurityEngineResult.TAG_BINARY_SECURITY_TOKEN);
@@ -195,7 +193,7 @@ public class SignatureSTRParser implemen
                 if (SecurityTokenReference.SKI_URI.equals(valueType)) {
                     byte[] skiBytes = secRef.getSKIBytes();
                     List<WSSecurityEngineResult> resultsList =
-                        wsDocInfo.getResultsByTag(WSConstants.BST);
+                        data.getWsDocInfo().getResultsByTag(WSConstants.BST);
                     for (WSSecurityEngineResult bstResult : resultsList) {
                         X509Certificate[] certs =
                             (X509Certificate[])bstResult.get(WSSecurityEngineResult.TAG_X509_CERTIFICATES);
@@ -209,7 +207,7 @@ public class SignatureSTRParser implemen
                 } else if (SecurityTokenReference.THUMB_URI.equals(valueType)) {
                     String kiValue = secRef.getKeyIdentifierValue();
                     List<WSSecurityEngineResult> resultsList =
-                        wsDocInfo.getResultsByTag(WSConstants.BST);
+                        data.getWsDocInfo().getResultsByTag(WSConstants.BST);
                     for (WSSecurityEngineResult bstResult : resultsList) {
                         X509Certificate[] certs =
                             (X509Certificate[])bstResult.get(WSSecurityEngineResult.TAG_X509_CERTIFICATES);
@@ -336,7 +334,7 @@ public class SignatureSTRParser implemen
     ) throws WSSecurityException {
         STRParserResult parserResult = new STRParserResult();
         RequestData data = parameters.getData();
-        WSDocInfo wsDocInfo = parameters.getWsDocInfo();
+        WSDocInfo wsDocInfo = data.getWsDocInfo();
         Element strElement = parameters.getStrElement();
 
         if (secRef.containsReference()) {
@@ -354,8 +352,7 @@ public class SignatureSTRParser implemen
                 QName el = new QName(token.getNamespaceURI(), token.getLocalName());
                 if (el.equals(WSConstants.BINARY_TOKEN)) {
                     Processor proc = data.getWssConfig().getProcessor(WSConstants.BINARY_TOKEN);
-                    List<WSSecurityEngineResult> bstResult =
-                        proc.handleToken(token, parameters.getData(), parameters.getWsDocInfo());
+                    List<WSSecurityEngineResult> bstResult = proc.handleToken(token, parameters.getData());
                     BinarySecurity bstToken =
                         (BinarySecurity)bstResult.get(0).get(WSSecurityEngineResult.TAG_BINARY_SECURITY_TOKEN);
                     STRParserUtil.checkBinarySecurityBSPCompliance(
@@ -378,8 +375,7 @@ public class SignatureSTRParser implemen
                         );
                     SamlAssertionWrapper samlAssertion = null;
                     if (processedToken == null) {
-                        List<WSSecurityEngineResult> samlResult =
-                            proc.handleToken(token, data, wsDocInfo);
+                        List<WSSecurityEngineResult> samlResult = proc.handleToken(token, data);
                         samlAssertion =
                             (SamlAssertionWrapper)samlResult.get(0).get(
                                 WSSecurityEngineResult.TAG_SAML_ASSERTION
@@ -387,7 +383,7 @@ public class SignatureSTRParser implemen
                     } else {
                         samlAssertion = new SamlAssertionWrapper(processedToken);
                         samlAssertion.parseSubject(
-                            new WSSSAMLKeyInfoProcessor(data, wsDocInfo),
+                            new WSSSAMLKeyInfoProcessor(data),
                             data.getSigVerCrypto(), data.getCallbackHandler()
                         );
                     }
@@ -403,8 +399,7 @@ public class SignatureSTRParser implemen
                 } else if (el.equals(WSConstants.ENCRYPTED_KEY)) {
                     STRParserUtil.checkEncryptedKeyBSPCompliance(secRef, data.getBSPEnforcer());
                     Processor proc = data.getWssConfig().getProcessor(WSConstants.ENCRYPTED_KEY);
-                    List<WSSecurityEngineResult> encrResult =
-                        proc.handleToken(token, data, wsDocInfo);
+                    List<WSSecurityEngineResult> encrResult = proc.handleToken(token, data);
                     secretKey =
                         (byte[])encrResult.get(0).get(WSSecurityEngineResult.TAG_SECRET);
                     principal = new CustomTokenPrincipal(token.getAttributeNS(null, "Id"));
@@ -431,10 +426,10 @@ public class SignatureSTRParser implemen
                 parserResult.setPrincipal(new CustomTokenPrincipal(id));
             } else if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(secRef.getKeyIdentifierValueType())
                 || WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(secRef.getKeyIdentifierValueType())) {
-                parseSAMLKeyIdentifier(secRef, wsDocInfo, data, parserResult);
+                parseSAMLKeyIdentifier(secRef, data, parserResult);
             } else {
                 Crypto crypto = data.getSigVerCrypto();
-                parseBSTKeyIdentifier(secRef, crypto, wsDocInfo, data, parserResult);
+                parseBSTKeyIdentifier(secRef, crypto, data, parserResult);
             }
         } else {
             throw new WSSecurityException(

Modified: webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomProcessor.java?rev=1782492&r1=1782491&r2=1782492&view=diff
==============================================================================
--- webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomProcessor.java (original)
+++ webservices/wss4j/trunk/ws-security-dom/src/test/java/org/apache/wss4j/dom/common/CustomProcessor.java Fri Feb 10 17:22:22 2017
@@ -23,7 +23,6 @@ import org.apache.wss4j.common.ext.WSSec
 import org.apache.wss4j.dom.handler.RequestData;
 import org.apache.wss4j.dom.processor.Processor;
 import org.apache.wss4j.dom.WSConstants;
-import org.apache.wss4j.dom.WSDocInfo;
 import org.apache.wss4j.dom.engine.WSSecurityEngineResult;
 
 /**
@@ -34,8 +33,7 @@ public class CustomProcessor implements
     public final java.util.List<WSSecurityEngineResult>
     handleToken(
         final org.w3c.dom.Element elem,
-        final RequestData data,
-        final WSDocInfo wsDocInfo
+        final RequestData data
     ) throws WSSecurityException {
         final WSSecurityEngineResult result =
             new WSSecurityEngineResult(WSConstants.UT_SIGN);