Author: ruchithf
Date: Tue Feb 27 22:56:18 2007
New Revision: 512627

URL: http://svn.apache.org/viewvc?view=rev&rev=512627
Log:
Obtain parts to be signed form SignatureParts

Modified:
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
    
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.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?view=diff&rev=512627&r1=512626&r2=512627
==============================================================================
--- 
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
 Tue Feb 27 22:56:18 2007
@@ -54,8 +54,9 @@
         RampartPolicyData rpd = rmd.getPolicyData();
         
         //Check presence of timestamp
+        WSSecurityEngineResult tsResult = null;
         if(rpd.isIncludeTimestamp()) {
-            WSSecurityEngineResult tsResult = 
+            tsResult = 
                 WSSecurityUtil.fetchActionResult(results, WSConstants.TS);
             if(tsResult == null) {
                 throw new RampartException("timestampMissing");
@@ -71,6 +72,12 @@
         }
         
         Vector signatureParts = RampartUtil.getSignedParts(rmd);
+        
+        //Add the timestamp result
+        if(rpd.isIncludeTimestamp() && !rpd.isTransportBinding()) {
+            signatureParts.add(new 
WSEncryptionPart(tsResult.getTimestamp().getID()));
+        }
+        
         validateEncrSig(encryptedParts, signatureParts, results);
         
         validateProtectionOrder(data, results);

Modified: 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java?view=diff&rev=512627&r1=512626&r2=512627
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
 (original)
+++ 
webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/util/RampartUtil.java
 Tue Feb 27 22:56:18 2007
@@ -537,28 +537,10 @@
     public static Vector getSignedParts(RampartMessageData rmd) {
         RampartPolicyData rpd =  rmd.getPolicyData();
         SOAPEnvelope envelope = rmd.getMsgContext().getEnvelope();
-        
-        if(rpd.isEntireHeadersAndBodySignatures()) {
-            
-            //Reset the signedParrts vector in RampartPolicyData to an empty
-            //vector to prvent singing headers twice, if the policy contained 
-            //a SignedParts assertion
-            rpd.setSignedParts(new Vector());
-            Iterator childElems = envelope.getHeader().getChildElements();
-            while (childElems.hasNext()) {
-                OMElement element = (OMElement) childElems.next();
-                if(!element.getQName().equals(new QName(WSConstants.WSSE_NS, 
WSConstants.WSSE_LN)) &&
-                        !element.getQName().equals(new 
QName(WSConstants.WSSE11_NS, WSConstants.WSSE_LN))) {
-                    rpd.addSignedPart(new 
WSEncryptionPart(addWsuIdToElement(element)));
-                }
-            }
+    
+        // Copy list of headers to sign from Policy
+        if(rpd.isSignBody()) {
             rpd.addSignedPart(new 
WSEncryptionPart(addWsuIdToElement(envelope.getBody())));
-            
-        } else {
-            // Copy list of headers to sign from Policy
-            if(rpd.isSignBody()) {
-                rpd.addSignedPart(new 
WSEncryptionPart(addWsuIdToElement(envelope.getBody())));
-            }
         }
         
         return rpd.getSignedParts();


Reply via email to