You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by ru...@apache.org on 2008/02/15 11:04:11 UTC

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

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);
             }
         }
     }