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