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