svn commit: r1073747 - in /axis/axis2/java/rampart/branches/1_6/modules: rampart-core/src/main/java/org/apache/rampart/ rampart-core/src/main/java/org/apache/rampart/handler/ rampart-core/src/main/jav

2011-02-23 Thread thilinamb
Author: thilinamb
Date: Wed Feb 23 14:00:54 2011
New Revision: 1073747

URL: http://svn.apache.org/viewvc?rev=1073747&view=rev
Log:
Applying the patch provided by AmilaJ for RAMPART-299.

Modified:

axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java

axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/handler/WSSHandlerConstants.java

axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyBuilder.java

axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/policy/RampartPolicyData.java
axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/pom.xml

axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java
axis/axis2/java/rampart/branches/1_6/modules/rampart-trust-mar/module.xml

axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/client/STSClient.java

axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/impl/SCTIssuer.java

Modified: 
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java?rev=1073747&r1=1073746&r2=1073747&view=diff
==
--- 
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java
 (original)
+++ 
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartMessageData.java
 Wed Feb 23 14:00:54 2011
@@ -26,6 +26,7 @@ import org.apache.axis2.context.Operatio
 import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.wsdl.WSDLConstants;
+import org.apache.neethi.Assertion;
 import org.apache.neethi.Policy;
 import org.apache.neethi.PolicyEngine;
 import org.apache.neethi.PolicyComponent;
@@ -40,6 +41,8 @@ import org.apache.rampart.policy.Rampart
 import org.apache.rampart.policy.model.RampartConfig;
 import org.apache.rampart.util.Axis2Util;
 import org.apache.rampart.util.RampartUtil;
+import org.apache.ws.secpolicy.SP11Constants;
+import org.apache.ws.secpolicy.SP12Constants;
 import org.apache.ws.secpolicy.WSSPolicyException;
 import org.apache.ws.security.SOAPConstants;
 import org.apache.ws.security.WSConstants;
@@ -56,10 +59,7 @@ import org.apache.ws.security.util.WSSec
 import org.opensaml.SAMLAssertion;
 import org.w3c.dom.Document;
 
-import java.util.Date;
-import java.util.List;
-import java.util.Vector;
-import java.util.ArrayList;
+import java.util.*;
 
 public class RampartMessageData {
 
@@ -135,9 +135,9 @@ public class RampartMessageData {
  * RahasConstants.VERSION_05_12
  */
 
-private int wstVersion = RahasConstants.VERSION_05_02;
+private int wstVersion = RahasConstants.VERSION_05_12;
 
-private int secConvVersion = ConversationConstants.DEFAULT_VERSION;
+private int secConvVersion = ConversationConstants.VERSION_05_12;
 
 /*
  * IssuedTokens or SecurityContextTokens can be used
@@ -166,16 +166,6 @@ public class RampartMessageData {
 this.msgContext = msgCtx;
 
 try {
-
-//Extract known properties from the msgCtx
-
-if(msgCtx.getProperty(KEY_WST_VERSION) != null) {
-this.wstVersion = 
TrustUtil.getWSTVersion((String)msgCtx.getProperty(KEY_WST_VERSION));
-}
-
-if(msgCtx.getProperty(KEY_WSSC_VERSION) != null) {
-this.secConvVersion = 
TrustUtil.getWSTVersion((String)msgCtx.getProperty(KEY_WSSC_VERSION));
-}
 
 // First obtain the axis service as we have to do a null check, 
there can be situations 
 // where Axis Service is null
@@ -193,12 +183,12 @@ public class RampartMessageData {
 msgCtx.getAxisService().addParameter(clientSideParam);
 }
 }
-
+
 if(msgCtx.getProperty(KEY_RAMPART_POLICY) != null) {
 this.servicePolicy = 
(Policy)msgCtx.getProperty(KEY_RAMPART_POLICY);
 }
-
-
+
+
 // Checking which flow we are in
 int flow = msgCtx.getFLOW();
 
@@ -262,8 +252,11 @@ public class RampartMessageData {
 
 //Process policy and build policy data
 this.policyData = RampartPolicyBuilder.build(it);
+
+//Set the version
+
setWSSecurityVersions(this.policyData.getWebServiceSecurityPolicyNS());
 }
-
+
 

svn commit: r1073767 - in /axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart: policy/sc-4.xml policy/sc-5.xml policy/sc-6.xml services-sc-4.xml services-sc-5.

2011-02-23 Thread thilinamb
Author: thilinamb
Date: Wed Feb 23 15:08:31 2011
New Revision: 1073767

URL: http://svn.apache.org/viewvc?rev=1073767&view=rev
Log:
Applying the patch provided by AmilaJ for RAMPART-299. Adding the sample policy 
files.

Added:

axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/policy/sc-4.xml

axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/policy/sc-5.xml

axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/policy/sc-6.xml

axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/services-sc-4.xml

axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/services-sc-5.xml

axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/services-sc-6.xml

Added: 
axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/policy/sc-4.xml
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/policy/sc-4.xml?rev=1073767&view=auto
==
--- 
axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/policy/sc-4.xml
 (added)
+++ 
axis/axis2/java/rampart/branches/1_6/modules/rampart-integration/src/test/resources/rampart/policy/sc-4.xml
 Wed Feb 23 15:08:31 2011
@@ -0,0 +1,123 @@
+http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy";>
+   
+   
+   http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702";>
+   
+   
+   
+   
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient";>
+   
+   

+   

+   
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy";>
+   

+   

+   
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702";>
+   

+   

+   

+   
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient";>
+   

+   


+   

+   

+   

+   

+   

+   

+   
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never";>
+   

+   


+  

svn commit: r1074043 - in /axis/axis2/java/rampart/trunk/modules: rampart-core/src/main/java/org/apache/rampart/RampartEngine.java rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java ramp

2011-02-23 Thread thilinamb
Author: thilinamb
Date: Thu Feb 24 05:05:24 2011
New Revision: 1074043

URL: http://svn.apache.org/viewvc?rev=1074043&view=rev
Log:
Fixing RAMPART-317 : Fixing an error when handling bearer subject confirmation.

Modified:

axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java

axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java

axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/TrustUtil.java

Modified: 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java?rev=1074043&r1=1074042&r2=1074043&view=diff
==
--- 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
 (original)
+++ 
axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
 Thu Feb 24 05:05:24 2011
@@ -30,8 +30,10 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.rahas.RahasConstants;
 import org.apache.rahas.Token;
 import org.apache.rahas.TokenStorage;
+import org.apache.rahas.TrustUtil;
 import org.apache.rahas.impl.util.SAML2KeyInfo;
 import org.apache.rahas.impl.util.SAML2Utils;
 import org.apache.rampart.policy.RampartPolicyData;
@@ -188,8 +190,15 @@ public class RampartEngine {
 
 // If this is a SAML2.0 assertion
 if (wser.get(WSSecurityEngineResult.TAG_SAML_ASSERTION) 
instanceof Assertion) {
+final Assertion assertion = (Assertion) wser.get(
+WSSecurityEngineResult.TAG_SAML_ASSERTION);
+
+// if the subject confirmation method is Bearer, do not 
try to get the KeyInfo
+
if(TrustUtil.getSAML2SubjectConfirmationMethod(assertion).equals(
+
RahasConstants.SAML20_SUBJECT_CONFIRMATION_BEARER)){
+break;
+}
 
-final Assertion assertion = (Assertion) 
wser.get(WSSecurityEngineResult.TAG_SAML_ASSERTION);
 String id = assertion.getID();
 Subject subject = assertion.getSubject();
 
@@ -236,10 +245,15 @@ public class RampartEngine {
 }
 //if this is a SAML1.1 assertion
 else {
-final SAMLAssertion assertion =
+final SAMLAssertion assertion = ((SAMLAssertion) wser.get(
+WSSecurityEngineResult.TAG_SAML_ASSERTION));
+
+// if the subject confirmation method is Bearer, do not 
try to get the KeyInfo
+
if(RahasConstants.SAML11_SUBJECT_CONFIRMATION_BEARER.equals(
+
TrustUtil.getSAML11SubjectConfirmationMethod(assertion))){
+break;
+}
 
-((SAMLAssertion) wser
-
.get(WSSecurityEngineResult.TAG_SAML_ASSERTION));
 String id = assertion.getId();
 Date created = assertion.getNotBefore();
 Date expires = assertion.getNotOnOrAfter();

Modified: 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java?rev=1074043&r1=1074042&r2=1074043&view=diff
==
--- 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java
 (original)
+++ 
axis/axis2/java/rampart/trunk/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java
 Thu Feb 24 05:05:24 2011
@@ -132,4 +132,13 @@ public class RahasConstants {
 //Constants required for SAML2 assertion generation
 public final static String X509_CERT ="X509Certificate";
 public final static String USERNAME = "username";
+
+//Constants required for SubjectConfirmation methods
+public static final String SAML11_SUBJECT_CONFIRMATION_HOK = 
"urn:oasis:names:tc:SAML:1.0:cm:" +
+  "holder-of-key";
+public static final String SAML11_SUBJECT_CONFIRMATION_BEARER = 
"urn:oasis:names:tc:SAML:1.0:cm:bearer";
+
+public static final String SAML20_SUBJECT_CONFIRMATION_HOK = 
"urn:oasis:names:tc:SAML:2.0:cm:holder-of-key";
+
+public static final String SAML20_SUBJECT_CONFIRMATION_BEARER = 
"urn:oasis:names:tc:SAML:2.0:cm:beare

svn commit: r1074044 - in /axis/axis2/java/rampart/branches/1_6/modules: rampart-core/src/main/java/org/apache/rampart/ rampart-trust/src/main/java/org/apache/rahas/

2011-02-23 Thread thilinamb
Author: thilinamb
Date: Thu Feb 24 05:05:59 2011
New Revision: 1074044

URL: http://svn.apache.org/viewvc?rev=1074044&view=rev
Log:
Fixing RAMPART-317 : Fixing an error when handling SAML tokens with bearer 
subject confirmation.

Modified:

axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java

axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java

axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/TrustUtil.java

Modified: 
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java?rev=1074044&r1=1074043&r2=1074044&view=diff
==
--- 
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
 (original)
+++ 
axis/axis2/java/rampart/branches/1_6/modules/rampart-core/src/main/java/org/apache/rampart/RampartEngine.java
 Thu Feb 24 05:05:59 2011
@@ -30,8 +30,10 @@ import org.apache.axis2.AxisFault;
 import org.apache.axis2.context.MessageContext;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.rahas.RahasConstants;
 import org.apache.rahas.Token;
 import org.apache.rahas.TokenStorage;
+import org.apache.rahas.TrustUtil;
 import org.apache.rahas.impl.util.SAML2KeyInfo;
 import org.apache.rahas.impl.util.SAML2Utils;
 import org.apache.rampart.policy.RampartPolicyData;
@@ -188,8 +190,15 @@ public class RampartEngine {
 
 // If this is a SAML2.0 assertion
 if (wser.get(WSSecurityEngineResult.TAG_SAML_ASSERTION) 
instanceof Assertion) {
+final Assertion assertion = (Assertion) wser.get(
+WSSecurityEngineResult.TAG_SAML_ASSERTION);
+
+// if the subject confirmation method is Bearer, do not 
try to get the KeyInfo
+
if(TrustUtil.getSAML2SubjectConfirmationMethod(assertion).equals(
+
RahasConstants.SAML20_SUBJECT_CONFIRMATION_BEARER)){
+break;
+}
 
-final Assertion assertion = (Assertion) 
wser.get(WSSecurityEngineResult.TAG_SAML_ASSERTION);
 String id = assertion.getID();
 Subject subject = assertion.getSubject();
 
@@ -236,10 +245,15 @@ public class RampartEngine {
 }
 //if this is a SAML1.1 assertion
 else {
-final SAMLAssertion assertion =
+final SAMLAssertion assertion = ((SAMLAssertion) wser.get(
+WSSecurityEngineResult.TAG_SAML_ASSERTION));
+
+// if the subject confirmation method is Bearer, do not 
try to get the KeyInfo
+
if(RahasConstants.SAML11_SUBJECT_CONFIRMATION_BEARER.equals(
+
TrustUtil.getSAML11SubjectConfirmationMethod(assertion))){
+break;
+}
 
-((SAMLAssertion) wser
-
.get(WSSecurityEngineResult.TAG_SAML_ASSERTION));
 String id = assertion.getId();
 Date created = assertion.getNotBefore();
 Date expires = assertion.getNotOnOrAfter();

Modified: 
axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java?rev=1074044&r1=1074043&r2=1074044&view=diff
==
--- 
axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java
 (original)
+++ 
axis/axis2/java/rampart/branches/1_6/modules/rampart-trust/src/main/java/org/apache/rahas/RahasConstants.java
 Thu Feb 24 05:05:59 2011
@@ -132,4 +132,13 @@ public class RahasConstants {
 //Constants required for SAML2 assertion generation
 public final static String X509_CERT ="X509Certificate";
 public final static String USERNAME = "username";
+
+//Constants required for SubjectConfirmation methods
+public static final String SAML11_SUBJECT_CONFIRMATION_HOK = 
"urn:oasis:names:tc:SAML:1.0:cm:" +
+  "holder-of-key";
+public static final String SAML11_SUBJECT_CONFIRMATION_BEARER = 
"urn:oasis:names:tc:SAML:1.0:cm:bearer";
+
+public static final String SAML20_SUBJECT_CONFIRMATION_HOK = 
"urn:oasis:names:tc:SAML:2.0:cm:holder-of-key";
+
+public