Author: nandana
Date: Sun Jan 13 21:02:25 2008
New Revision: 611711

URL: http://svn.apache.org/viewvc?rev=611711&view=rev
Log:
Checking the presence of supporting tokens

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

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java?rev=611711&r1=611710&r2=611711&view=diff
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
 Sun Jan 13 21:02:25 2008
@@ -22,10 +22,12 @@
 import org.apache.rampart.util.RampartUtil;
 import org.apache.ws.secpolicy.Constants;
 import org.apache.ws.secpolicy.model.HttpsToken;
+import org.apache.ws.secpolicy.model.IssuedToken;
 import org.apache.ws.secpolicy.model.SignedEncryptedParts;
 import org.apache.ws.secpolicy.model.SupportingToken;
 import org.apache.ws.secpolicy.model.Token;
 import org.apache.ws.secpolicy.model.UsernameToken;
+import org.apache.ws.secpolicy.model.X509Token;
 import org.apache.ws.security.WSConstants;
 import org.apache.ws.security.WSEncryptionPart;
 import org.apache.ws.security.WSSecurityEngineResult;
@@ -286,6 +288,17 @@
                     throw new RampartException("usernameTokenMissing");
                 }
                 
+            } else if ( token instanceof IssuedToken ) {
+                //TODO is is enough to check for ST_UNSIGNED results ??
+                WSSecurityEngineResult samlResult = 
WSSecurityUtil.fetchActionResult(results, WSConstants.ST_UNSIGNED);
+                if(samlResult == null) {
+                    throw new RampartException("samlTokenMissing");
+                }
+            } else if ( token instanceof X509Token) {
+                WSSecurityEngineResult x509Result = 
WSSecurityUtil.fetchActionResult(results, WSConstants.BST);
+                if(x509Result == null) {
+                    throw new RampartException("binaryTokenMissing");
+                }
             }
         }
     }


Reply via email to