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 2007/09/06 16:17:17 UTC

svn commit: r573277 - in /webservices/rampart/trunk/java/modules: rampart-core/src/main/java/org/apache/rampart/ rampart-policy/src/main/java/org/apache/ws/secpolicy/model/

Author: ruchithf
Date: Thu Sep  6 07:17:17 2007
New Revision: 573277

URL: http://svn.apache.org/viewvc?rev=573277&view=rev
Log:
Fixed some policy serialization issues
Encrypted parts validation is buggy :-( ... we have to fix it


Modified:
    webservices/rampart/trunk/java/modules/rampart-core/src/main/java/org/apache/rampart/PolicyBasedResultsValidator.java
    webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/IssuedToken.java
    webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ProtectionToken.java
    webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.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=573277&r1=573276&r2=573277&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 Thu Sep  6 07:17:17 2007
@@ -354,15 +354,21 @@
                         new String[]{data.getBodyEncrDataId()});
             }
         }
-        
-        int refCount = 0;
 
-        refCount += encryptedParts.size();
-
-        if(encrRefs.size() != refCount) {
-            throw new RampartException("invalidNumberOfEncryptedParts", 
-                    new String[]{Integer.toString(refCount)});
-        }
+//        TODO : IMPORTANT this processing is wrong .. fix it
+//
+//        int refCount = 0;
+//
+//        refCount += encryptedParts.size();
+//        
+//        if(rpd.isSignatureProtection()) {
+//            refCount ++;
+//        }
+//
+//        if(encrRefs.size() != refCount) {
+//            throw new RampartException("invalidNumberOfEncryptedParts", 
+//                    new String[]{Integer.toString(refCount)});
+//        }
         
     }
 

Modified: webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/IssuedToken.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/IssuedToken.java?rev=573277&r1=573276&r2=573277&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/IssuedToken.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/IssuedToken.java Thu Sep  6 07:17:17 2007
@@ -137,19 +137,12 @@
 
         if (rstTemplate != null) {
             // <sp:RequestSecurityTokenTemplate>
-            writer.writeStartElement(prefix,
-                    Constants.REQUEST_SECURITY_TOKEN_TEMPLATE.getLocalPart(),
-                    namespaceURI);
-
             rstTemplate.serialize(writer);
 
-            // </sp:RequestSecurityTokenTemplate>
-            writer.writeEndElement();
         }
 
-        String policyLocalName = Constants.PROTECTION_TOKEN.getLocalPart();
-        String policyNamespaceURI = Constants.PROTECTION_TOKEN
-                .getNamespaceURI();
+        String policyLocalName = Constants.POLICY.getLocalPart();
+        String policyNamespaceURI = Constants.POLICY.getNamespaceURI();
 
         String wspPrefix;
 
@@ -162,7 +155,8 @@
             wspPrefix = wspWriterPrefix;
         }
 
-        if (isRequireExternalReference() || isRequireInternalReference()) {
+        if (isRequireExternalReference() || isRequireInternalReference() ||
+                this.isDerivedKeys()) {
 
             // <wsp:Policy>
             writer.writeStartElement(wspPrefix, policyLocalName,
@@ -175,12 +169,22 @@
 
             if (isRequireExternalReference()) {
                 // <sp:RequireExternalReference />
-                writer.writeEmptyElement(prefix, Constants.REQUIRE_EXTERNAL_REFERNCE.getLocalPart(), namespaceURI);
+                writer.writeEmptyElement(prefix,
+                        Constants.REQUIRE_EXTERNAL_REFERNCE.getLocalPart(),
+                        namespaceURI);
             }
-            
+
             if (isRequireInternalReference()) {
                 // <sp:RequireInternalReference />
-                writer.writeEmptyElement(prefix, Constants.REQUIRE_INTERNAL_REFERNCE.getLocalPart(), namespaceURI);
+                writer.writeEmptyElement(prefix,
+                        Constants.REQUIRE_INTERNAL_REFERNCE.getLocalPart(),
+                        namespaceURI);
+            }
+
+            if (this.isDerivedKeys()) {
+                // <sp:RequireDerivedKeys />
+                writer.writeEmptyElement(prefix, Constants.REQUIRE_DERIVED_KEYS
+                        .getLocalPart(), namespaceURI);
             }
             
             // <wsp:Policy>

Modified: webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ProtectionToken.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ProtectionToken.java?rev=573277&r1=573276&r2=573277&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ProtectionToken.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/ProtectionToken.java Thu Sep  6 07:17:17 2007
@@ -80,8 +80,8 @@
             writer.writeNamespace(prefix, namespaceURI);
         }
         
-        String policyLocalName = Constants.PROTECTION_TOKEN.getLocalPart();
-        String policyNamespaceURI = Constants.PROTECTION_TOKEN.getNamespaceURI();
+        String policyLocalName = Constants.POLICY.getLocalPart();
+        String policyNamespaceURI = Constants.POLICY.getNamespaceURI();
         
         String wspPrefix;
         

Modified: webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.java?rev=573277&r1=573276&r2=573277&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy/model/SymmetricBinding.java Thu Sep  6 07:17:17 2007
@@ -225,10 +225,9 @@
             writer.writeEndElement();
         }
         
-        if (protectionToken != null) {
-            protectionToken.serialize(writer);
+        if(isEntireHeadersAndBodySignatures()) {
+            writer.writeEmptyElement(prefix, Constants.ONLY_SIGN_ENTIRE_HEADERS_AND_BODY, namespaceURI);
         }
-        
         // </wsp:Policy>
         writer.writeEndElement();