Author: ruchithf
Date: Fri Feb 15 02:04:10 2008
New Revision: 627990

URL: http://svn.apache.org/viewvc?rev=627990&view=rev
Log:
Applied patch in RAMPART-141, Thanks Narayan

Modified:
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java?rev=627990&r1=627989&r2=627990&view=diff
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/builder/BindingBuilder.java
 Fri Feb 15 02:04:10 2008
@@ -27,6 +27,7 @@
 import org.apache.rampart.RampartMessageData;
 import org.apache.rampart.policy.RampartPolicyData;
 import org.apache.rampart.util.RampartUtil;
+import org.apache.ws.secpolicy.Constants;
 import org.apache.ws.secpolicy.SPConstants;
 import org.apache.ws.secpolicy.model.IssuedToken;
 import org.apache.ws.secpolicy.model.SecureConversationToken;
@@ -229,6 +230,7 @@
         RampartPolicyData rpd = rmd.getPolicyData();
         
         WSSecSignature sig = new WSSecSignature();
+        checkForX509PkiPath(sig, token);
         sig.setWsConfig(rmd.getConfig());
         
         log.debug("Token inclusion: " + token.getInclusion());
@@ -743,6 +745,15 @@
             RampartUtil.appendChildToSecHeader(rmd, 
wsc.getSignatureConfirmationElement());
             if(sigParts != null) {
                 sigParts.add(new WSEncryptionPart(wsc.getId()));
+            }
+        }
+    }
+    private void checkForX509PkiPath(WSSecSignature sig, Token token){
+        if (token instanceof X509Token) {
+            X509Token x509Token = (X509Token) token;
+            if 
(x509Token.getTokenVersionAndType().equals(Constants.WSS_X509_PKI_PATH_V1_TOKEN10)
+                    || 
x509Token.getTokenVersionAndType().equals(Constants.WSS_X509_PKI_PATH_V1_TOKEN11))
 {
+                sig.setUseSingleCertificate(false);
             }
         }
     }


Reply via email to