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 2012/08/20 13:16:35 UTC

svn commit: r1374972 [2/5] - in /webservices/wss4j/trunk: streaming-ws-security/src/main/java/org/apache/ws/security/stax/wss/impl/saml/ streaming-ws-security/src/test/java/org/apache/ws/security/stax/wss/test/ streaming-ws-security/src/test/java/org/a...

Copied: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/saml/builder/SAML2Constants.java (from r1374954, webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/ext/builder/SAML2Constants.java)
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/saml/builder/SAML2Constants.java?p2=webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/saml/builder/SAML2Constants.java&p1=webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/ext/builder/SAML2Constants.java&r1=1374954&r2=1374972&rev=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/ext/builder/SAML2Constants.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/saml/builder/SAML2Constants.java Mon Aug 20 11:16:30 2012
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.ws.security.saml.ext.builder;
+package org.apache.ws.security.common.saml.builder;
 
 
 /**

Copied: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/DOM2Writer.java (from r1374954, webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/DOM2Writer.java)
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/DOM2Writer.java?p2=webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/DOM2Writer.java&p1=webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/DOM2Writer.java&r1=1374954&r2=1374972&rev=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/DOM2Writer.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/DOM2Writer.java Mon Aug 20 11:16:30 2012
@@ -17,9 +17,8 @@
  * under the License.
  */
 
-package org.apache.ws.security.util;
+package org.apache.ws.security.common.util;
 
-import org.apache.ws.security.WSConstants;
 import org.w3c.dom.Attr;
 import org.w3c.dom.Element;
 import org.w3c.dom.NamedNodeMap;
@@ -262,9 +261,9 @@ public final class DOM2Writer {
                                            PrintWriter out) {
         String namespaceURI = node.getNamespaceURI();
         String prefix = node.getPrefix();
-        if (!(namespaceURI.equals(WSConstants.XMLNS_NS) && prefix.equals("xmlns")) &&
-                !(namespaceURI.equals(WSConstants.XML_NS) && prefix.equals("xml"))) {
-            if (WSSecurityUtil.getNamespace(prefix, owner) == null) {
+        if (!(namespaceURI.equals(XMLUtils.XMLNS_NS) && prefix.equals("xmlns")) &&
+                !(namespaceURI.equals(XMLUtils.XML_NS) && prefix.equals("xml"))) {
+            if (XMLUtils.getNamespace(prefix, owner) == null) {
                 out.print(" xmlns:" + prefix + "=\"" + namespaceURI + '\"');
             }
         } else {

Copied: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/Mapping.java (from r1374954, webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/Mapping.java)
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/Mapping.java?p2=webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/Mapping.java&p1=webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/Mapping.java&r1=1374954&r2=1374972&rev=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/Mapping.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/Mapping.java Mon Aug 20 11:16:30 2012
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.ws.security.util;
+package org.apache.ws.security.common.util;
 
 import java.io.Serializable;
 

Copied: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/NSStack.java (from r1374954, webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/NSStack.java)
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/NSStack.java?p2=webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/NSStack.java&p1=webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/NSStack.java&r1=1374954&r2=1374972&rev=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/NSStack.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/NSStack.java Mon Aug 20 11:16:30 2012
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.ws.security.util;
+package org.apache.ws.security.common.util;
 
 import java.util.ArrayList;
 import java.util.List;

Copied: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/XMLUtils.java (from r1374954, webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/XMLUtils.java)
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/XMLUtils.java?p2=webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/XMLUtils.java&p1=webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/XMLUtils.java&r1=1374954&r2=1374972&rev=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/XMLUtils.java (original)
+++ webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/XMLUtils.java Mon Aug 20 11:16:30 2012
@@ -16,53 +16,87 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+package org.apache.ws.security.common.util;
 
-package org.apache.ws.security.util;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.InputSource;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.OutputStream;
 
 import javax.xml.transform.Source;
 import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.sax.SAXSource;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.OutputStream;
 
-public final class XMLUtils {
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.xml.sax.InputSource;
+
+public class XMLUtils {
     
-    private static final org.apache.commons.logging.Log LOG = 
-        org.apache.commons.logging.LogFactory.getLog(XMLUtils.class);
-    private static final boolean DO_DEBUG = LOG.isDebugEnabled();
+    public static final String XMLNS_NS = "http://www.w3.org/2000/xmlns/";
+    public static final String XML_NS = "http://www.w3.org/XML/1998/namespace";
+
+    /**
+     * Gets a direct child with specified localname and namespace. <p/>
+     *
+     * @param parentNode the node where to start the search
+     * @param localName  local name of the child to get
+     * @param namespace  the namespace of the child to get
+     * @return the node or <code>null</code> if not such node found
+     */
+    public static Element getDirectChildElement(Node parentNode, String localName, String namespace) {
+        if (parentNode == null) {
+            return null;
+        }
+        for (
+                Node currentChild = parentNode.getFirstChild();
+                currentChild != null;
+                currentChild = currentChild.getNextSibling()
+                ) {
+            if (Node.ELEMENT_NODE == currentChild.getNodeType()
+                    && localName.equals(currentChild.getLocalName())
+                    && namespace.equals(currentChild.getNamespaceURI())) {
+                return (Element) currentChild;
+            }
+        }
+        return null;
+    }
     
-    private XMLUtils() {
-        // Complete
+    public static String getNamespace(String prefix, Node e) {
+        while (e != null && (e.getNodeType() == Node.ELEMENT_NODE)) {
+            Attr attr = null;
+            if (prefix == null) {
+                attr = ((Element) e).getAttributeNode("xmlns");
+            } else {
+                attr = ((Element) e).getAttributeNodeNS(XMLNS_NS, prefix);
+            }
+            if (attr != null) {
+                return attr.getValue();
+            }
+            e = e.getParentNode();
+        }
+        return null;
     }
     
-    public static String PrettyDocumentToString(Document doc) {
+    public static String PrettyDocumentToString(Document doc) throws TransformerException {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         ElementToStream(doc.getDocumentElement(), baos);
         return new String(baos.toByteArray());
     }
 
-    public static void ElementToStream(Element element, OutputStream out) {
-        try {
-            DOMSource source = new DOMSource(element);
-            StreamResult result = new StreamResult(out);
-            TransformerFactory transFactory = TransformerFactory.newInstance();
-            Transformer transformer = transFactory.newTransformer();
-            transformer.transform(source, result);
-        } catch (Exception ex) {
-            if (DO_DEBUG) {
-                LOG.debug(ex.getMessage(), ex);
-            }
-        }
+    public static void ElementToStream(Element element, OutputStream out) 
+        throws TransformerException {
+        DOMSource source = new DOMSource(element);
+        StreamResult result = new StreamResult(out);
+        TransformerFactory transFactory = TransformerFactory.newInstance();
+        Transformer transformer = transFactory.newTransformer();
+        transformer.transform(source, result);
     }
 
     /**
@@ -70,7 +104,7 @@ public final class XMLUtils {
      *
      * @param source the resource to get
      */
-    public static InputSource sourceToInputSource(Source source) {
+    public static InputSource sourceToInputSource(Source source) throws TransformerException {
         if (source instanceof SAXSource) {
             return ((SAXSource) source).getInputSource();
         } else if (source instanceof DOMSource) {
@@ -106,5 +140,4 @@ public final class XMLUtils {
     public static InputSource getInputSourceFromURI(String uri) {
         return new InputSource(uri);
     }
-    
 }

Propchange: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/XMLUtils.java
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.1

Propchange: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/XMLUtils.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/XMLUtils.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: webservices/wss4j/trunk/ws-security-common/src/main/java/org/apache/ws/security/common/util/XMLUtils.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/SAMLTokenPrincipal.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/SAMLTokenPrincipal.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/SAMLTokenPrincipal.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/SAMLTokenPrincipal.java Mon Aug 20 11:16:30 2012
@@ -19,7 +19,7 @@
 
 package org.apache.ws.security;
 
-import org.apache.ws.security.saml.ext.AssertionWrapper;
+import org.apache.ws.security.common.saml.AssertionWrapper;
 import org.opensaml.common.SAMLVersion;
 
 import java.io.Serializable;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/WSSConfig.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/WSSConfig.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/WSSConfig.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/WSSConfig.java Mon Aug 20 11:16:30 2012
@@ -35,8 +35,8 @@ import org.apache.ws.security.action.Act
 import org.apache.ws.security.common.ext.WSSecurityException;
 import org.apache.ws.security.common.util.Loader;
 import org.apache.ws.security.processor.Processor;
-import org.apache.ws.security.util.UUIDGenerator;
 import org.apache.ws.security.validate.Validator;
+import org.apache.xml.security.stax.impl.util.IDGenerator;
 import org.apache.xml.security.utils.XMLUtils;
 
 /**
@@ -299,10 +299,7 @@ public class WSSConfig {
         }
 
         public String createSecureId(String prefix, Object o) {
-            if (prefix == null) {
-                return UUIDGenerator.getUUID();
-            }
-            return prefix + UUIDGenerator.getUUID();
+            return IDGenerator.generateID(prefix);
         }
     };
     protected WsuIdAllocator idAllocator = DEFAULT_ID_ALLOCATOR;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/WSSecurityEngineResult.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/WSSecurityEngineResult.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/WSSecurityEngineResult.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/WSSecurityEngineResult.java Mon Aug 20 11:16:30 2012
@@ -19,12 +19,12 @@
 
 package org.apache.ws.security;
 
+import org.apache.ws.security.common.saml.AssertionWrapper;
 import org.apache.ws.security.message.token.BinarySecurity;
 import org.apache.ws.security.message.token.SecurityContextToken;
 import org.apache.ws.security.message.token.SignatureConfirmation;
 import org.apache.ws.security.message.token.Timestamp;
 import org.apache.ws.security.message.token.UsernameToken;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
 
 import java.security.Principal;
 import java.security.cert.X509Certificate;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/action/SAMLTokenSignedAction.java Mon Aug 20 11:16:30 2012
@@ -24,13 +24,13 @@ import javax.security.auth.callback.Call
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.ext.WSPasswordCallback;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
 import org.apache.ws.security.handler.RequestData;
 import org.apache.ws.security.handler.WSHandler;
 import org.apache.ws.security.handler.WSHandlerConstants;
 import org.apache.ws.security.saml.SAMLIssuer;
 import org.apache.ws.security.saml.SAMLIssuerFactory;
 import org.apache.ws.security.saml.WSSecSignatureSAML;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
 
 import org.w3c.dom.Document;
 

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/action/SAMLTokenUnsignedAction.java Mon Aug 20 11:16:30 2012
@@ -20,11 +20,11 @@
 package org.apache.ws.security.action;
 
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
 import org.apache.ws.security.handler.RequestData;
 import org.apache.ws.security.handler.WSHandler;
 import org.apache.ws.security.message.WSSecSAMLToken;
 import org.apache.ws.security.saml.SAMLIssuer;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
 import org.w3c.dom.Document;
 
 public class SAMLTokenUnsignedAction extends SAMLTokenSignedAction {

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/WSSecEncryptedKey.java Mon Aug 20 11:16:30 2012
@@ -43,9 +43,9 @@ import org.apache.ws.security.message.to
 import org.apache.ws.security.message.token.Reference;
 import org.apache.ws.security.message.token.SecurityTokenReference;
 import org.apache.ws.security.message.token.X509Security;
-import org.apache.ws.security.util.UUIDGenerator;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.apache.xml.security.algorithms.JCEMapper;
+import org.apache.xml.security.stax.impl.util.IDGenerator;
 import org.apache.xml.security.utils.Constants;
 import org.apache.xml.security.utils.XMLUtils;
 
@@ -300,7 +300,7 @@ public class WSSecEncryptedKey extends W
         //
         encryptedKeyElement = createEncryptedKey(document, keyEncAlgo);
         if (encKeyId == null || "".equals(encKeyId)) {
-            encKeyId = "EK-" + UUIDGenerator.getUUID();
+            encKeyId = IDGenerator.generateID("EK-");
         }
         encryptedKeyElement.setAttributeNS(null, "Id", encKeyId);
 
@@ -337,7 +337,7 @@ public class WSSecEncryptedKey extends W
 
         case WSConstants.BST_DIRECT_REFERENCE:
             Reference ref = new Reference(document);
-            String certUri = UUIDGenerator.getUUID();
+            String certUri = IDGenerator.generateID(null);
             ref.setURI("#" + certUri);
             bstToken = new X509Security(document);
             ((X509Security) bstToken).setX509Certificate(remoteCert);

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/WSSecSAMLToken.java Mon Aug 20 11:16:30 2012
@@ -21,7 +21,7 @@ package org.apache.ws.security.message;
 
 import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.common.ext.WSSecurityException;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
+import org.apache.ws.security.common.saml.AssertionWrapper;
 import org.apache.ws.security.util.WSSecurityUtil;
 
 import org.w3c.dom.Document;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/BinarySecurity.java Mon Aug 20 11:16:30 2012
@@ -24,7 +24,7 @@ import java.util.Arrays;
 
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.common.ext.WSSecurityException;
-import org.apache.ws.security.util.DOM2Writer;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.apache.ws.security.util.Base64;
 import org.w3c.dom.Document;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DOMX509Data.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DOMX509Data.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DOMX509Data.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DOMX509Data.java Mon Aug 20 11:16:30 2012
@@ -21,7 +21,7 @@ package org.apache.ws.security.message.t
 
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.common.ext.WSSecurityException;
-import org.apache.ws.security.util.DOM2Writer;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DOMX509IssuerSerial.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DOMX509IssuerSerial.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DOMX509IssuerSerial.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DOMX509IssuerSerial.java Mon Aug 20 11:16:30 2012
@@ -20,7 +20,7 @@
 package org.apache.ws.security.message.token;
 
 import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.util.DOM2Writer;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.apache.xml.security.utils.RFC2253Parser;
 import org.w3c.dom.Document;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DerivedKeyToken.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DerivedKeyToken.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DerivedKeyToken.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/DerivedKeyToken.java Mon Aug 20 11:16:30 2012
@@ -28,12 +28,12 @@ import javax.xml.namespace.QName;
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSDerivedKeyTokenPrincipal;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.common.derivedKey.ConversationConstants;
 import org.apache.ws.security.common.derivedKey.ConversationException;
 import org.apache.ws.security.common.derivedKey.AlgoFactory;
 import org.apache.ws.security.common.derivedKey.DerivationAlgorithm;
 import org.apache.ws.security.util.Base64;
-import org.apache.ws.security.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/Reference.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/Reference.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/Reference.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/Reference.java Mon Aug 20 11:16:30 2012
@@ -23,7 +23,7 @@ import javax.xml.namespace.QName;
 
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.common.ext.WSSecurityException;
-import org.apache.ws.security.util.DOM2Writer;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SecurityContextToken.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SecurityContextToken.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SecurityContextToken.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SecurityContextToken.java Mon Aug 20 11:16:30 2012
@@ -22,11 +22,11 @@ package org.apache.ws.security.message.t
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.common.derivedKey.ConversationConstants;
 import org.apache.ws.security.common.derivedKey.ConversationException;
-import org.apache.ws.security.util.DOM2Writer;
-import org.apache.ws.security.util.UUIDGenerator;
 import org.apache.ws.security.util.WSSecurityUtil;
+import org.apache.xml.security.stax.impl.util.IDGenerator;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -91,7 +91,7 @@ public class SecurityContextToken {
 
         element.appendChild(elementIdentifier);
 
-        String uuid = "uuid:" + UUIDGenerator.getUUID();
+        String uuid = IDGenerator.generateID("uuid:");
         
         elementIdentifier.appendChild(doc.createTextNode(uuid));
         

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SecurityTokenReference.java Mon Aug 20 11:16:30 2012
@@ -26,9 +26,9 @@ import org.apache.ws.security.common.cry
 import org.apache.ws.security.common.crypto.Merlin;
 import org.apache.ws.security.common.ext.WSPasswordCallback;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.message.CallbackLookup;
 import org.apache.ws.security.message.DOMCallbackLookup;
-import org.apache.ws.security.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.apache.ws.security.util.Base64;
 

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/SignatureConfirmation.java Mon Aug 20 11:16:30 2012
@@ -23,7 +23,7 @@ import java.util.Arrays;
 
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.common.ext.WSSecurityException;
-import org.apache.ws.security.util.DOM2Writer;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.apache.ws.security.util.Base64;
 import org.w3c.dom.Document;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/Timestamp.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/Timestamp.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/Timestamp.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/Timestamp.java Mon Aug 20 11:16:30 2012
@@ -21,7 +21,7 @@ package org.apache.ws.security.message.t
 
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.common.ext.WSSecurityException;
-import org.apache.ws.security.util.DOM2Writer;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.apache.ws.security.util.XmlSchemaDateFormat;
 import org.w3c.dom.Document;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/UsernameToken.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/UsernameToken.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/UsernameToken.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/message/token/UsernameToken.java Mon Aug 20 11:16:30 2012
@@ -23,8 +23,8 @@ import org.apache.ws.security.WSConstant
 import org.apache.ws.security.WSUsernameTokenPrincipal;
 import org.apache.ws.security.common.ext.WSPasswordCallback;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.handler.RequestData;
-import org.apache.ws.security.util.DOM2Writer;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.apache.ws.security.util.XmlSchemaDateFormat;
 import org.apache.ws.security.util.Base64;

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/processor/SAMLTokenProcessor.java Mon Aug 20 11:16:30 2012
@@ -24,9 +24,10 @@ import org.apache.ws.security.WSConstant
 import org.apache.ws.security.WSDocInfo;
 import org.apache.ws.security.WSSecurityEngineResult;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.util.DOM2Writer;
 import org.apache.ws.security.handler.RequestData;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
-import org.apache.ws.security.util.DOM2Writer;
+import org.apache.ws.security.saml.WSSSAMLKeyInfoProcessor;
 import org.apache.ws.security.validate.Credential;
 import org.apache.ws.security.validate.Validator;
 
@@ -106,10 +107,16 @@ public class SAMLTokenProcessor implemen
     ) throws WSSecurityException {
         AssertionWrapper assertion = new AssertionWrapper(token);
         if (assertion.isSigned()) {
-            assertion.verifySignature(data, docInfo);
+            assertion.verifySignature(
+                new WSSSAMLKeyInfoProcessor(data, docInfo), data.getSigCrypto(),
+                data.getWssConfig().isWsiBSPCompliant()
+            );
         }
         // Parse the HOK subject if it exists
-        assertion.parseHOKSubject(data, docInfo);
+        assertion.parseHOKSubject( 
+            new WSSSAMLKeyInfoProcessor(data, docInfo), data.getSigCrypto(), 
+            data.getCallbackHandler(), data.getWssConfig().isWsiBSPCompliant()
+        );
             
         // Now delegate the rest of the verification to the Validator
         Credential credential = new Credential();

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/SAMLIssuer.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/SAMLIssuer.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/SAMLIssuer.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/SAMLIssuer.java Mon Aug 20 11:16:30 2012
@@ -23,7 +23,7 @@ import javax.security.auth.callback.Call
 
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.ext.WSSecurityException;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
+import org.apache.ws.security.common.saml.AssertionWrapper;
 
 /**
  * Builds a WS SAML Assertion and inserts it into the SOAP Envelope.

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/SAMLIssuerImpl.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/SAMLIssuerImpl.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/SAMLIssuerImpl.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/SAMLIssuerImpl.java Mon Aug 20 11:16:30 2012
@@ -22,9 +22,9 @@ package org.apache.ws.security.saml;
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.crypto.CryptoFactory;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.saml.SAMLParms;
 import org.apache.ws.security.common.util.Loader;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
-import org.apache.ws.security.saml.ext.SAMLParms;
 
 import java.util.Properties;
 

Added: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/WSSSAMLKeyInfoProcessor.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/WSSSAMLKeyInfoProcessor.java?rev=1374972&view=auto
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/WSSSAMLKeyInfoProcessor.java (added)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/WSSSAMLKeyInfoProcessor.java Mon Aug 20 11:16:30 2012
@@ -0,0 +1,105 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ws.security.saml;
+
+import java.util.HashMap;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.apache.ws.security.WSDocInfo;
+import org.apache.ws.security.WSSecurityEngine;
+import org.apache.ws.security.WSSecurityEngineResult;
+import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.SAMLKeyInfo;
+import org.apache.ws.security.common.saml.SAMLKeyInfoProcessor;
+import org.apache.ws.security.handler.RequestData;
+import org.apache.ws.security.message.token.SecurityTokenReference;
+import org.apache.ws.security.processor.EncryptedKeyProcessor;
+import org.apache.ws.security.str.STRParser;
+import org.apache.ws.security.str.SignatureSTRParser;
+import org.apache.xml.security.utils.Base64;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.Text;
+
+/**
+ * This interface allows the user to plug in custom ways of processing a SAML KeyInfo.
+ */
+public class WSSSAMLKeyInfoProcessor implements SAMLKeyInfoProcessor {
+    
+    private static final String WST_NS = "http://schemas.xmlsoap.org/ws/2005/02/trust";
+    private static final String WST_NS_05_12 = 
+        "http://docs.oasis-open.org/ws-sx/ws-trust/200512";
+    
+    private static final QName BINARY_SECRET = 
+        new QName(WST_NS, "BinarySecret");
+    private static final QName BINARY_SECRET_05_12 = 
+        new QName(WST_NS_05_12, "BinarySecret");
+    
+    private RequestData data;
+    private WSDocInfo docInfo;
+    
+    public WSSSAMLKeyInfoProcessor(RequestData data, WSDocInfo docInfo) {
+        this.data = data;
+        this.docInfo = docInfo;
+    }
+    
+    public SAMLKeyInfo processSAMLKeyInfo(Element keyInfoElement) throws WSSecurityException {
+        //
+        // First try to find an EncryptedKey, BinarySecret or a SecurityTokenReference via DOM
+        //
+        Node node = keyInfoElement.getFirstChild();
+        while (node != null) {
+            if (Node.ELEMENT_NODE == node.getNodeType()) {
+                QName el = new QName(node.getNamespaceURI(), node.getLocalName());
+                if (el.equals(WSSecurityEngine.ENCRYPTED_KEY)) {
+                    EncryptedKeyProcessor proc = new EncryptedKeyProcessor();
+                    List<WSSecurityEngineResult> result =
+                        proc.handleToken((Element)node, data, docInfo);
+                    byte[] secret = 
+                        (byte[])result.get(0).get(
+                            WSSecurityEngineResult.TAG_SECRET
+                        );
+                    return new SAMLKeyInfo(secret);
+                } else if (el.equals(BINARY_SECRET) || el.equals(BINARY_SECRET_05_12)) {
+                    Text txt = (Text)node.getFirstChild();
+                    try {
+                        return new SAMLKeyInfo(Base64.decode(txt.getData()));
+                    } catch (Exception e) {
+                        throw new WSSecurityException("decoding.general", e);
+                    }
+                } else if (SecurityTokenReference.STR_QNAME.equals(el)) {
+                    STRParser strParser = new SignatureSTRParser();
+                    strParser.parseSecurityTokenReference(
+                        (Element)node, data, docInfo, new HashMap<String, Object>()
+                    );
+                    SAMLKeyInfo samlKeyInfo = new SAMLKeyInfo(strParser.getCertificates());
+                    samlKeyInfo.setPublicKey(strParser.getPublicKey());
+                    samlKeyInfo.setSecret(strParser.getSecretKey());
+                    return samlKeyInfo;
+                }
+            }
+            node = node.getNextSibling();
+        }
+        
+        return null;
+    }
+}

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/saml/WSSecSignatureSAML.java Mon Aug 20 11:16:30 2012
@@ -40,6 +40,10 @@ import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.crypto.CryptoType;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.saml.OpenSAMLUtil;
+import org.apache.ws.security.common.saml.SAMLKeyInfo;
+import org.apache.ws.security.common.saml.SAMLUtil;
 import org.apache.ws.security.handler.RequestData;
 import org.apache.ws.security.message.WSSecHeader;
 import org.apache.ws.security.message.WSSecSignature;
@@ -48,8 +52,6 @@ import org.apache.ws.security.message.to
 import org.apache.ws.security.message.token.Reference;
 import org.apache.ws.security.message.token.SecurityTokenReference;
 import org.apache.ws.security.message.token.X509Security;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
-import org.apache.ws.security.saml.ext.OpenSAMLUtil;
 import org.apache.ws.security.transform.STRTransform;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Document;
@@ -257,7 +259,9 @@ public class WSSecSignatureSAML extends 
                 data.setWssConfig(getWsConfig());
                 SAMLKeyInfo samlKeyInfo = 
                     SAMLUtil.getCredentialFromSubject(
-                        assertion, data, wsDocInfo, getWsConfig().isWsiBSPCompliant()
+                        assertion, new WSSSAMLKeyInfoProcessor(data, wsDocInfo), 
+                        data.getSigCrypto(), data.getCallbackHandler(),
+                        getWsConfig().isWsiBSPCompliant()
                     );
                 publicKey = samlKeyInfo.getPublicKey();
                 certs = samlKeyInfo.getCerts();

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/BSPEnforcer.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/BSPEnforcer.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/BSPEnforcer.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/BSPEnforcer.java Mon Aug 20 11:16:30 2012
@@ -21,12 +21,12 @@ package org.apache.ws.security.str;
 
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
 import org.apache.ws.security.message.token.BinarySecurity;
 import org.apache.ws.security.message.token.KerberosSecurity;
 import org.apache.ws.security.message.token.PKIPathSecurity;
 import org.apache.ws.security.message.token.SecurityTokenReference;
 import org.apache.ws.security.message.token.X509Security;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
 
 /**
  * This class enforces processing rules for SecurityTokenReferences to various token elements,

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/DerivedKeyTokenSTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/DerivedKeyTokenSTRParser.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/DerivedKeyTokenSTRParser.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/DerivedKeyTokenSTRParser.java Mon Aug 20 11:16:30 2012
@@ -26,12 +26,13 @@ import org.apache.ws.security.WSSecurity
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.ext.WSPasswordCallback;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.saml.SAMLKeyInfo;
+import org.apache.ws.security.common.saml.SAMLUtil;
 import org.apache.ws.security.handler.RequestData;
 import org.apache.ws.security.message.token.BinarySecurity;
 import org.apache.ws.security.message.token.SecurityTokenReference;
-import org.apache.ws.security.saml.SAMLKeyInfo;
-import org.apache.ws.security.saml.SAMLUtil;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
+import org.apache.ws.security.saml.WSSSAMLKeyInfoProcessor;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Element;
 
@@ -273,7 +274,9 @@ public class DerivedKeyTokenSTRParser im
             }
             SAMLKeyInfo keyInfo = 
                 SAMLUtil.getCredentialFromSubject(assertion, 
-                                                  data, wsDocInfo, bspCompliant);
+                        new WSSSAMLKeyInfoProcessor(data, wsDocInfo), 
+                        data.getSigCrypto(), data.getCallbackHandler(),
+                        data.getWssConfig().isWsiBSPCompliant());
             // TODO Handle malformed SAML tokens where they don't have the 
             // secret in them
             secretKey = keyInfo.getSecret();

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/EncryptedKeySTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/EncryptedKeySTRParser.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/EncryptedKeySTRParser.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/EncryptedKeySTRParser.java Mon Aug 20 11:16:30 2012
@@ -26,13 +26,14 @@ import org.apache.ws.security.WSSecurity
 import org.apache.ws.security.WSSecurityEngineResult;
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.saml.SAMLKeyInfo;
+import org.apache.ws.security.common.saml.SAMLUtil;
 import org.apache.ws.security.handler.RequestData;
 import org.apache.ws.security.message.token.BinarySecurity;
 import org.apache.ws.security.message.token.SecurityTokenReference;
 import org.apache.ws.security.message.token.X509Security;
-import org.apache.ws.security.saml.SAMLKeyInfo;
-import org.apache.ws.security.saml.SAMLUtil;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
+import org.apache.ws.security.saml.WSSSAMLKeyInfoProcessor;
 import org.w3c.dom.Element;
 
 import java.security.Principal;
@@ -102,7 +103,7 @@ public class EncryptedKeySTRParser imple
             if (WSConstants.WSS_SAML_KI_VALUE_TYPE.equals(secRef.getKeyIdentifierValueType())
                 || WSConstants.WSS_SAML2_KI_VALUE_TYPE.equals(secRef.getKeyIdentifierValueType())) {
                 AssertionWrapper assertion = 
-                    SAMLUtil.getAssertionFromKeyIdentifier(
+                    STRParserUtil.getAssertionFromKeyIdentifier(
                         secRef, strElement, data, wsDocInfo
                     );
                 if (bspCompliant) {
@@ -110,7 +111,9 @@ public class EncryptedKeySTRParser imple
                 }
                 SAMLKeyInfo samlKi = 
                     SAMLUtil.getCredentialFromSubject(assertion, 
-                                                      data, wsDocInfo, bspCompliant);
+                            new WSSSAMLKeyInfoProcessor(data, wsDocInfo), 
+                            data.getSigCrypto(), data.getCallbackHandler(),
+                            data.getWssConfig().isWsiBSPCompliant());
                 certs = samlKi.getCerts();
             } else {
                 if (bspCompliant) {
@@ -228,8 +231,9 @@ public class EncryptedKeySTRParser imple
             }
             SAMLKeyInfo keyInfo = 
                 SAMLUtil.getCredentialFromSubject(assertion, 
-                                                  data,
-                                                  wsDocInfo, bspCompliant);
+                        new WSSSAMLKeyInfoProcessor(data, wsDocInfo), 
+                        data.getSigCrypto(), data.getCallbackHandler(),
+                        data.getWssConfig().isWsiBSPCompliant());
             certs = keyInfo.getCerts();
         } else {
             throw new WSSecurityException(

Added: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/STRParserUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/STRParserUtil.java?rev=1374972&view=auto
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/STRParserUtil.java (added)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/STRParserUtil.java Mon Aug 20 11:16:30 2012
@@ -0,0 +1,106 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.ws.security.str;
+
+import java.util.List;
+
+import org.apache.ws.security.WSDocInfo;
+import org.apache.ws.security.WSSecurityEngine;
+import org.apache.ws.security.WSSecurityEngineResult;
+import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.handler.RequestData;
+import org.apache.ws.security.message.token.SecurityTokenReference;
+import org.apache.ws.security.processor.Processor;
+import org.w3c.dom.Element;
+
+/**
+ * Some utilities for the STRParsers.
+ */
+public final class STRParserUtil {
+    
+    private STRParserUtil() {
+        // complete
+    }
+    
+    /**
+     * Get an AssertionWrapper object from parsing a SecurityTokenReference that uses
+     * a KeyIdentifier that points to a SAML Assertion.
+     * 
+     * @param secRef the SecurityTokenReference to the SAML Assertion
+     * @param strElement The SecurityTokenReference DOM element
+     * @param request The RequestData instance used to obtain configuration
+     * @param wsDocInfo The WSDocInfo object that holds previous results
+     * @return an AssertionWrapper object
+     * @throws WSSecurityException
+     */
+    public static AssertionWrapper getAssertionFromKeyIdentifier(
+        SecurityTokenReference secRef,
+        Element strElement,
+        RequestData request,
+        WSDocInfo wsDocInfo
+    ) throws WSSecurityException {
+        String keyIdentifierValue = secRef.getKeyIdentifierValue();
+        String type = secRef.getKeyIdentifierValueType();
+        WSSecurityEngineResult result = wsDocInfo.getResult(keyIdentifierValue);
+
+        AssertionWrapper assertion = null;
+        Element token = null;
+        if (result != null) {
+            assertion = 
+                (AssertionWrapper)result.get(WSSecurityEngineResult.TAG_SAML_ASSERTION);
+            return assertion;
+        } else {
+            token = 
+                secRef.findProcessedTokenElement(
+                    strElement.getOwnerDocument(), wsDocInfo,
+                    request.getCallbackHandler(),
+                    keyIdentifierValue, type
+                );
+            if (token != null) {
+                if (!"Assertion".equals(token.getLocalName())) {
+                    throw new WSSecurityException(
+                        WSSecurityException.ErrorCode.FAILURE, "invalidSAMLsecurity"
+                    );
+                }
+                return new AssertionWrapper(token);
+            }
+            token = 
+                secRef.findUnprocessedTokenElement(
+                    strElement.getOwnerDocument(), wsDocInfo,
+                    request.getCallbackHandler(), keyIdentifierValue, type
+                );
+            
+            if (token == null || !"Assertion".equals(token.getLocalName())) {
+                throw new WSSecurityException(
+                    WSSecurityException.ErrorCode.FAILURE, "invalidSAMLsecurity"
+                );
+            }
+            Processor proc = request.getWssConfig().getProcessor(WSSecurityEngine.SAML_TOKEN);
+            List<WSSecurityEngineResult> samlResult =
+                proc.handleToken(token, request, wsDocInfo);
+            return 
+                (AssertionWrapper)samlResult.get(0).get(
+                    WSSecurityEngineResult.TAG_SAML_ASSERTION
+                );
+        }
+    }
+    
+}

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/SecurityTokenRefSTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/SecurityTokenRefSTRParser.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/SecurityTokenRefSTRParser.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/SecurityTokenRefSTRParser.java Mon Aug 20 11:16:30 2012
@@ -26,6 +26,9 @@ import org.apache.ws.security.WSSecurity
 import org.apache.ws.security.WSSecurityEngineResult;
 import org.apache.ws.security.common.ext.WSPasswordCallback;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.saml.SAMLKeyInfo;
+import org.apache.ws.security.common.saml.SAMLUtil;
 import org.apache.ws.security.handler.RequestData;
 import org.apache.ws.security.message.token.BinarySecurity;
 import org.apache.ws.security.message.token.DerivedKeyToken;
@@ -33,9 +36,7 @@ import org.apache.ws.security.message.to
 import org.apache.ws.security.message.token.SecurityTokenReference;
 import org.apache.ws.security.message.token.UsernameToken;
 import org.apache.ws.security.processor.Processor;
-import org.apache.ws.security.saml.SAMLKeyInfo;
-import org.apache.ws.security.saml.SAMLUtil;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
+import org.apache.ws.security.saml.WSSSAMLKeyInfoProcessor;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Element;
 
@@ -137,7 +138,7 @@ public class SecurityTokenRefSTRParser i
                     getSecretKeyFromToken(secRef.getKeyIdentifierValue(), valueType, data);
                 if (secretKey == null) {
                     AssertionWrapper assertion = 
-                        SAMLUtil.getAssertionFromKeyIdentifier(
+                        STRParserUtil.getAssertionFromKeyIdentifier(
                             secRef, strElement, 
                             data, wsDocInfo
                         );
@@ -286,7 +287,10 @@ public class SecurityTokenRefSTRParser i
             BSPEnforcer.checkSamlTokenBSPCompliance(secRef, assertion);
         }
         SAMLKeyInfo samlKi = 
-            SAMLUtil.getCredentialFromSubject(assertion, data, wsDocInfo, bspCompliant);
+            SAMLUtil.getCredentialFromSubject(assertion, 
+                    new WSSSAMLKeyInfoProcessor(data, wsDocInfo), 
+                    data.getSigCrypto(), data.getCallbackHandler(),
+                    data.getWssConfig().isWsiBSPCompliant());
         if (samlKi == null) {
             throw new WSSecurityException(
                 WSSecurityException.ErrorCode.FAILED_CHECK, "invalidSAMLToken", new Object[] {"No Secret Key"}

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/str/SignatureSTRParser.java Mon Aug 20 11:16:30 2012
@@ -29,6 +29,10 @@ import org.apache.ws.security.WSSecurity
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.ext.WSPasswordCallback;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.saml.OpenSAMLUtil;
+import org.apache.ws.security.common.saml.SAMLKeyInfo;
+import org.apache.ws.security.common.saml.SAMLUtil;
 import org.apache.ws.security.handler.RequestData;
 import org.apache.ws.security.message.token.BinarySecurity;
 import org.apache.ws.security.message.token.DerivedKeyToken;
@@ -37,10 +41,7 @@ import org.apache.ws.security.message.to
 import org.apache.ws.security.message.token.SecurityTokenReference;
 import org.apache.ws.security.message.token.UsernameToken;
 import org.apache.ws.security.processor.Processor;
-import org.apache.ws.security.saml.SAMLKeyInfo;
-import org.apache.ws.security.saml.SAMLUtil;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
-import org.apache.ws.security.saml.ext.OpenSAMLUtil;
+import org.apache.ws.security.saml.WSSSAMLKeyInfoProcessor;
 import org.apache.ws.security.util.Base64;
 import org.apache.ws.security.util.WSSecurityUtil;
 import org.w3c.dom.Element;
@@ -173,7 +174,11 @@ public class SignatureSTRParser implemen
                             );
                     } else {
                         assertion = new AssertionWrapper(processedToken);
-                        assertion.parseHOKSubject(data, wsDocInfo);
+                        assertion.parseHOKSubject(
+                            new WSSSAMLKeyInfoProcessor(data, wsDocInfo), 
+                            data.getSigCrypto(), data.getCallbackHandler(),
+                            data.getWssConfig().isWsiBSPCompliant()
+                        );
                     }
                     if (bspCompliant) {
                         BSPEnforcer.checkSamlTokenBSPCompliance(secRef, assertion);
@@ -351,14 +356,17 @@ public class SignatureSTRParser implemen
         secretKey = getSecretKeyFromToken(secRef.getKeyIdentifierValue(), valueType, data);
         if (secretKey == null) {
             AssertionWrapper assertion = 
-                SAMLUtil.getAssertionFromKeyIdentifier(
+                STRParserUtil.getAssertionFromKeyIdentifier(
                     secRef, secRef.getElement(), data, wsDocInfo
                 );
             if (bspCompliant) {
                 BSPEnforcer.checkSamlTokenBSPCompliance(secRef, assertion);
             }
             SAMLKeyInfo samlKi = 
-                SAMLUtil.getCredentialFromSubject(assertion, data, wsDocInfo, bspCompliant);
+                SAMLUtil.getCredentialFromSubject(assertion,  
+                        new WSSSAMLKeyInfoProcessor(data, wsDocInfo), 
+                        data.getSigCrypto(), data.getCallbackHandler(),
+                        data.getWssConfig().isWsiBSPCompliant());
             X509Certificate[] foundCerts = samlKi.getCerts();
             if (foundCerts != null && foundCerts.length > 0) {
                 certs = new X509Certificate[]{foundCerts[0]};

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/WSSecurityUtil.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/WSSecurityUtil.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/WSSecurityUtil.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/util/WSSecurityUtil.java Mon Aug 20 11:16:30 2012
@@ -28,6 +28,7 @@ import org.apache.ws.security.WSEncrypti
 import org.apache.ws.security.WSSecurityEngineResult;
 import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.util.XMLUtils;
 import org.apache.ws.security.handler.WSHandlerConstants;
 import org.apache.ws.security.message.CallbackLookup;
 import org.apache.xml.security.algorithms.JCEMapper;
@@ -554,22 +555,6 @@ public final class WSSecurityUtil {
         return null;
     }
 
-    public static String getNamespace(String prefix, Node e) {
-        while (e != null && (e.getNodeType() == Node.ELEMENT_NODE)) {
-            Attr attr = null;
-            if (prefix == null) {
-                attr = ((Element) e).getAttributeNode("xmlns");
-            } else {
-                attr = ((Element) e).getAttributeNodeNS(WSConstants.XMLNS_NS, prefix);
-            }
-            if (attr != null) {
-                return attr.getValue();
-            }
-            e = e.getParentNode();
-        }
-        return null;
-    }
-
     /**
      * Return a QName when passed a string like "foo:bar" by mapping the "foo"
      * prefix to a namespace in the context of the given Node.
@@ -598,14 +583,14 @@ public final class WSSecurityUtil {
         int idx = str.indexOf(':');
         if (idx > -1) {
             String prefix = str.substring(0, idx);
-            String ns = getNamespace(prefix, e);
+            String ns = XMLUtils.getNamespace(prefix, e);
             if (ns == null) {
                 return null;
             }
             return new QName(ns, str.substring(idx + 1));
         } else {
             if (defaultNS) {
-                String ns = getNamespace(null, e);
+                String ns = XMLUtils.getNamespace(null, e);
                 if (ns != null) {
                     return new QName(ns, str);
                 }
@@ -624,7 +609,7 @@ public final class WSSecurityUtil {
         if (prefix == null) {
             int i = 1;
             prefix = "ns" + i;
-            while (getNamespace(prefix, e) != null) {
+            while (XMLUtils.getNamespace(prefix, e) != null) {
                 i++;
                 prefix = "ns" + i;
             }

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/validate/Credential.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/validate/Credential.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/validate/Credential.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/validate/Credential.java Mon Aug 20 11:16:30 2012
@@ -23,11 +23,11 @@ import java.security.Principal;
 import java.security.PublicKey;
 import java.security.cert.X509Certificate;
 
+import org.apache.ws.security.common.saml.AssertionWrapper;
 import org.apache.ws.security.message.token.BinarySecurity;
 import org.apache.ws.security.message.token.SecurityContextToken;
 import org.apache.ws.security.message.token.Timestamp;
 import org.apache.ws.security.message.token.UsernameToken;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
 
 /**
  * This class stores various Credential types that can be validated and/or returned by a

Modified: webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/main/java/org/apache/ws/security/validate/SamlAssertionValidator.java Mon Aug 20 11:16:30 2012
@@ -22,10 +22,10 @@ package org.apache.ws.security.validate;
 import java.util.List;
 
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.saml.OpenSAMLUtil;
+import org.apache.ws.security.common.saml.SAMLKeyInfo;
 import org.apache.ws.security.handler.RequestData;
-import org.apache.ws.security.saml.SAMLKeyInfo;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
-import org.apache.ws.security.saml.ext.OpenSAMLUtil;
 import org.joda.time.DateTime;
 import org.opensaml.common.SAMLVersion;
 import org.opensaml.xml.validation.ValidationException;

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/AbstractSAMLCallbackHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/AbstractSAMLCallbackHandler.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/AbstractSAMLCallbackHandler.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/AbstractSAMLCallbackHandler.java Mon Aug 20 11:16:30 2012
@@ -20,19 +20,19 @@
 package org.apache.ws.security.common;
 
 import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.common.saml.SAMLCallback;
+import org.apache.ws.security.common.saml.bean.ActionBean;
+import org.apache.ws.security.common.saml.bean.AttributeBean;
+import org.apache.ws.security.common.saml.bean.AttributeStatementBean;
+import org.apache.ws.security.common.saml.bean.AuthDecisionStatementBean;
+import org.apache.ws.security.common.saml.bean.AuthenticationStatementBean;
+import org.apache.ws.security.common.saml.bean.ConditionsBean;
+import org.apache.ws.security.common.saml.bean.KeyInfoBean;
+import org.apache.ws.security.common.saml.bean.KeyInfoBean.CERT_IDENTIFIER;
+import org.apache.ws.security.common.saml.bean.SubjectBean;
+import org.apache.ws.security.common.saml.bean.SubjectConfirmationDataBean;
+import org.apache.ws.security.common.saml.bean.SubjectLocalityBean;
 import org.apache.ws.security.message.WSSecEncryptedKey;
-import org.apache.ws.security.saml.ext.SAMLCallback;
-import org.apache.ws.security.saml.ext.bean.ActionBean;
-import org.apache.ws.security.saml.ext.bean.AttributeBean;
-import org.apache.ws.security.saml.ext.bean.AttributeStatementBean;
-import org.apache.ws.security.saml.ext.bean.AuthenticationStatementBean;
-import org.apache.ws.security.saml.ext.bean.AuthDecisionStatementBean;
-import org.apache.ws.security.saml.ext.bean.ConditionsBean;
-import org.apache.ws.security.saml.ext.bean.KeyInfoBean;
-import org.apache.ws.security.saml.ext.bean.SubjectBean;
-import org.apache.ws.security.saml.ext.bean.SubjectConfirmationDataBean;
-import org.apache.ws.security.saml.ext.bean.SubjectLocalityBean;
-import org.apache.ws.security.saml.ext.bean.KeyInfoBean.CERT_IDENTIFIER;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/CustomSamlAssertionValidator.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/CustomSamlAssertionValidator.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/CustomSamlAssertionValidator.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/CustomSamlAssertionValidator.java Mon Aug 20 11:16:30 2012
@@ -20,8 +20,8 @@
 package org.apache.ws.security.common;
 
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.saml.AssertionWrapper;
 import org.apache.ws.security.handler.RequestData;
-import org.apache.ws.security.saml.ext.AssertionWrapper;
 import org.apache.ws.security.validate.Credential;
 import org.apache.ws.security.validate.SamlAssertionValidator;
 

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML1AuthnHOKHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML1AuthnHOKHandler.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML1AuthnHOKHandler.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML1AuthnHOKHandler.java Mon Aug 20 11:16:30 2012
@@ -23,11 +23,11 @@ import org.apache.ws.security.common.cry
 import org.apache.ws.security.common.crypto.CryptoFactory;
 import org.apache.ws.security.common.crypto.CryptoType;
 import org.apache.ws.security.common.ext.WSSecurityException;
-import org.apache.ws.security.saml.ext.SAMLCallback;
-import org.apache.ws.security.saml.ext.bean.AuthenticationStatementBean;
-import org.apache.ws.security.saml.ext.bean.KeyInfoBean;
-import org.apache.ws.security.saml.ext.bean.SubjectBean;
-import org.apache.ws.security.saml.ext.builder.SAML1Constants;
+import org.apache.ws.security.common.saml.SAMLCallback;
+import org.apache.ws.security.common.saml.bean.AuthenticationStatementBean;
+import org.apache.ws.security.common.saml.bean.KeyInfoBean;
+import org.apache.ws.security.common.saml.bean.SubjectBean;
+import org.apache.ws.security.common.saml.builder.SAML1Constants;
 import org.opensaml.common.SAMLVersion;
 
 import javax.security.auth.callback.Callback;

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML1CallbackHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML1CallbackHandler.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML1CallbackHandler.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML1CallbackHandler.java Mon Aug 20 11:16:30 2012
@@ -22,10 +22,10 @@ package org.apache.ws.security.common;
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.crypto.CryptoFactory;
 import org.apache.ws.security.common.crypto.CryptoType;
-import org.apache.ws.security.saml.ext.SAMLCallback;
-import org.apache.ws.security.saml.ext.bean.KeyInfoBean;
-import org.apache.ws.security.saml.ext.bean.SubjectBean;
-import org.apache.ws.security.saml.ext.builder.SAML1Constants;
+import org.apache.ws.security.common.saml.SAMLCallback;
+import org.apache.ws.security.common.saml.bean.KeyInfoBean;
+import org.apache.ws.security.common.saml.bean.SubjectBean;
+import org.apache.ws.security.common.saml.builder.SAML1Constants;
 import org.opensaml.common.SAMLVersion;
 
 import javax.security.auth.callback.Callback;

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML2CallbackHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML2CallbackHandler.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML2CallbackHandler.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAML2CallbackHandler.java Mon Aug 20 11:16:30 2012
@@ -22,10 +22,10 @@ package org.apache.ws.security.common;
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.crypto.CryptoFactory;
 import org.apache.ws.security.common.crypto.CryptoType;
-import org.apache.ws.security.saml.ext.SAMLCallback;
-import org.apache.ws.security.saml.ext.bean.KeyInfoBean;
-import org.apache.ws.security.saml.ext.bean.SubjectBean;
-import org.apache.ws.security.saml.ext.builder.SAML2Constants;
+import org.apache.ws.security.common.saml.SAMLCallback;
+import org.apache.ws.security.common.saml.bean.KeyInfoBean;
+import org.apache.ws.security.common.saml.bean.SubjectBean;
+import org.apache.ws.security.common.saml.builder.SAML2Constants;
 import org.opensaml.common.SAMLVersion;
 
 import javax.security.auth.callback.Callback;

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAMLElementCallbackHandler.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAMLElementCallbackHandler.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAMLElementCallbackHandler.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/common/SAMLElementCallbackHandler.java Mon Aug 20 11:16:30 2012
@@ -25,10 +25,10 @@ import javax.security.auth.callback.Call
 import javax.security.auth.callback.UnsupportedCallbackException;
 import javax.xml.parsers.DocumentBuilderFactory;
 
-import org.apache.ws.security.saml.ext.AssertionWrapper;
-import org.apache.ws.security.saml.ext.SAMLCallback;
-import org.apache.ws.security.saml.ext.SAMLParms;
-import org.apache.ws.security.saml.ext.builder.SAML1Constants;
+import org.apache.ws.security.common.saml.AssertionWrapper;
+import org.apache.ws.security.common.saml.SAMLCallback;
+import org.apache.ws.security.common.saml.SAMLParms;
+import org.apache.ws.security.common.saml.builder.SAML1Constants;
 import org.w3c.dom.Element;
 
 /**

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/components/crypto/CertificateStoreTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/components/crypto/CertificateStoreTest.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/components/crypto/CertificateStoreTest.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/components/crypto/CertificateStoreTest.java Mon Aug 20 11:16:30 2012
@@ -30,6 +30,7 @@ import org.apache.ws.security.common.cry
 import org.apache.ws.security.common.crypto.CryptoFactory;
 import org.apache.ws.security.common.crypto.CryptoType;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.util.XMLUtils;
 import org.apache.ws.security.message.WSSecHeader;
 import org.apache.ws.security.message.WSSecSignature;
 import org.apache.ws.security.util.WSSecurityUtil;
@@ -77,7 +78,7 @@ public class CertificateStoreTest extend
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         //
@@ -108,7 +109,7 @@ public class CertificateStoreTest extend
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         //
@@ -145,7 +146,7 @@ public class CertificateStoreTest extend
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         
@@ -177,7 +178,7 @@ public class CertificateStoreTest extend
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         
@@ -209,7 +210,7 @@ public class CertificateStoreTest extend
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         
@@ -242,7 +243,7 @@ public class CertificateStoreTest extend
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         //
@@ -264,14 +265,14 @@ public class CertificateStoreTest extend
      * @throws Exception Thrown when there is a problem in verification
      */
     private List<WSSecurityEngineResult> 
-    verify(Document doc, Crypto crypto) throws WSSecurityException {
+    verify(Document doc, Crypto crypto) throws Exception {
         List<WSSecurityEngineResult> results = secEngine.processSecurityHeader(
             doc, null, keystoreCallbackHandler, crypto
         );
         if (LOG.isDebugEnabled()) {
             LOG.debug("Verfied and decrypted message:");
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(doc);
+                XMLUtils.PrettyDocumentToString(doc);
             LOG.debug(outputString);
         }
         return results;

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/components/crypto/CryptoProviderTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/components/crypto/CryptoProviderTest.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/components/crypto/CryptoProviderTest.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/components/crypto/CryptoProviderTest.java Mon Aug 20 11:16:30 2012
@@ -25,6 +25,7 @@ import org.apache.ws.security.common.Key
 import org.apache.ws.security.common.SOAPUtil;
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.crypto.CryptoFactory;
+import org.apache.ws.security.common.util.XMLUtils;
 import org.apache.ws.security.message.WSSecEncrypt;
 import org.apache.ws.security.message.WSSecHeader;
 import org.apache.ws.security.message.WSSecSignature;
@@ -75,7 +76,7 @@ public class CryptoProviderTest extends 
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         verify(signedDoc);
@@ -123,7 +124,7 @@ public class CryptoProviderTest extends 
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(encryptedDoc);
+                XMLUtils.PrettyDocumentToString(encryptedDoc);
             LOG.debug(outputString);
         }
         verify(encryptedDoc);
@@ -172,7 +173,7 @@ public class CryptoProviderTest extends 
         
         if (LOG.isDebugEnabled()) {
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(encryptedDoc);
+                XMLUtils.PrettyDocumentToString(encryptedDoc);
             LOG.debug(outputString);
         }
         try {
@@ -196,7 +197,7 @@ public class CryptoProviderTest extends 
         if (LOG.isDebugEnabled()) {
             LOG.debug("Verfied and decrypted message:");
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(doc);
+                XMLUtils.PrettyDocumentToString(doc);
             LOG.debug(outputString);
         }
     }

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/handler/CallbackRefTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/handler/CallbackRefTest.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/handler/CallbackRefTest.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/handler/CallbackRefTest.java Mon Aug 20 11:16:30 2012
@@ -24,6 +24,7 @@ import org.apache.ws.security.WSSConfig;
 import org.apache.ws.security.common.CustomHandler;
 import org.apache.ws.security.common.SOAPUtil;
 import org.apache.ws.security.common.UsernamePasswordCallbackHandler;
+import org.apache.ws.security.common.util.XMLUtils;
 import org.w3c.dom.Document;
 
 import javax.security.auth.callback.CallbackHandler;
@@ -71,7 +72,7 @@ public class CallbackRefTest extends org
         );
         
         String outputString = 
-            org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(doc);
+            XMLUtils.PrettyDocumentToString(doc);
         if (LOG.isDebugEnabled()) {
             LOG.debug(outputString);
         }
@@ -108,7 +109,7 @@ public class CallbackRefTest extends org
         );
         
         String outputString = 
-            org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(doc);
+            XMLUtils.PrettyDocumentToString(doc);
         if (LOG.isDebugEnabled()) {
             LOG.debug(outputString);
         }

Modified: webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/handler/CustomActionProcessorTest.java
URL: http://svn.apache.org/viewvc/webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/handler/CustomActionProcessorTest.java?rev=1374972&r1=1374971&r2=1374972&view=diff
==============================================================================
--- webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/handler/CustomActionProcessorTest.java (original)
+++ webservices/wss4j/trunk/wss4j-dom/src/test/java/org/apache/ws/security/handler/CustomActionProcessorTest.java Mon Aug 20 11:16:30 2012
@@ -30,6 +30,7 @@ import org.apache.ws.security.common.SOA
 import org.apache.ws.security.common.crypto.Crypto;
 import org.apache.ws.security.common.crypto.CryptoFactory;
 import org.apache.ws.security.common.ext.WSSecurityException;
+import org.apache.ws.security.common.util.XMLUtils;
 import org.apache.ws.security.message.WSSecSignature;
 import org.apache.ws.security.message.WSSecHeader;
 import org.apache.ws.security.util.WSSecurityUtil;
@@ -71,7 +72,7 @@ public class CustomActionProcessorTest e
         if (LOG.isDebugEnabled()) {
             LOG.debug("Signed message with IssuerSerial key identifier:");
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         LOG.info("After Signing IS....");
@@ -119,7 +120,7 @@ public class CustomActionProcessorTest e
         if (LOG.isDebugEnabled()) {
             LOG.debug("Signed message with IssuerSerial key identifier:");
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(signedDoc);
+                XMLUtils.PrettyDocumentToString(signedDoc);
             LOG.debug(outputString);
         }
         LOG.info("After Signing IS....");
@@ -281,7 +282,7 @@ public class CustomActionProcessorTest e
         if (LOG.isDebugEnabled()) {
             LOG.debug("Message:");
             String outputString = 
-                org.apache.ws.security.util.XMLUtils.PrettyDocumentToString(doc);
+                XMLUtils.PrettyDocumentToString(doc);
             LOG.debug(outputString);
         }
     }