Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes c6fcdcb1e -> 2c2a1971e


An efficiency improvement when reconciling encrypted and signed refs

Conflicts:
        
rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/CryptoCoverageUtil.java


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/d114bd9d
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/d114bd9d
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/d114bd9d

Branch: refs/heads/3.0.x-fixes
Commit: d114bd9d19861efb4c777410763bdf22104b83e3
Parents: c6fcdcb
Author: Colm O hEigeartaigh <[email protected]>
Authored: Tue Jul 7 15:37:09 2015 +0100
Committer: Colm O hEigeartaigh <[email protected]>
Committed: Tue Jul 7 18:14:22 2015 +0100

----------------------------------------------------------------------
 .../ws/security/wss4j/CryptoCoverageUtil.java   | 28 ++++++++++++++++++++
 1 file changed, 28 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/d114bd9d/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/CryptoCoverageUtil.java
----------------------------------------------------------------------
diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/CryptoCoverageUtil.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/CryptoCoverageUtil.java
index a86ee61..d490a4c 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/CryptoCoverageUtil.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/CryptoCoverageUtil.java
@@ -73,6 +73,7 @@ public final class CryptoCoverageUtil {
         
         final List<WSDataRef> encryptedSignedRefs = new 
LinkedList<WSDataRef>();
         
+<<<<<<< HEAD
         for (WSDataRef encryptedRef : encryptedRefs) {
             final Iterator<WSDataRef> signedRefsIt = signedRefs.iterator();
             while (signedRefsIt.hasNext()) {
@@ -95,6 +96,33 @@ public final class CryptoCoverageUtil {
                     encryptedSignedRef.setXpath(encryptedRef.getXpath());
                     
                     encryptedSignedRefs.add(encryptedSignedRef);
+=======
+        for (WSDataRef signedRef : signedRefs) {
+            Element protectedElement = signedRef.getProtectedElement();
+            if (protectedElement != null
+                && ("EncryptedData".equals(protectedElement.getLocalName())
+                && 
WSConstants.ENC_NS.equals(protectedElement.getNamespaceURI())
+                || 
WSConstants.ENCRYPTED_HEADER.equals(protectedElement.getLocalName())
+                && 
WSConstants.WSSE11_NS.equals(protectedElement.getNamespaceURI())
+                || 
WSConstants.ENCRYPED_ASSERTION_LN.equals(protectedElement.getLocalName())
+                && 
WSConstants.SAML2_NS.equals(protectedElement.getNamespaceURI()))) {
+                for (WSDataRef encryptedRef : encryptedRefs) {
+                    if (protectedElement == 
encryptedRef.getEncryptedElement()) {
+
+                        final WSDataRef encryptedSignedRef = new WSDataRef();
+                        encryptedSignedRef.setWsuId(signedRef.getWsuId());
+                        
+                        encryptedSignedRef.setContent(false);
+                        encryptedSignedRef.setName(encryptedRef.getName());
+                        encryptedSignedRef.setProtectedElement(encryptedRef
+                                .getProtectedElement());
+                        
+                        encryptedSignedRef.setXpath(encryptedRef.getXpath());
+                        
+                        encryptedSignedRefs.add(encryptedSignedRef);
+                        break;
+                    }
+>>>>>>> 4ddc8d5... An efficiency improvement when reconciling encrypted and 
signed refs
                 }
             }
         }

Reply via email to