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 do...@apache.org on 2009/08/27 16:48:29 UTC
svn commit: r808438 - in
/webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws:
secpolicy11/builders/EncryptedPartsBuilder.java
secpolicy12/builders/EncryptedPartsBuilder.java
Author: dobri
Date: Thu Aug 27 14:48:29 2009
New Revision: 808438
URL: http://svn.apache.org/viewvc?rev=808438&view=rev
Log:
Fixes the https://issues.apache.org/jira/browse/RAMPART-244 "Invalid behavior when empty <sp:EncryptedParts/> element present in the policy"
Modified:
webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java
webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java
Modified: webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java?rev=808438&r1=808437&r2=808438&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedPartsBuilder.java Thu Aug 27 14:48:29 2009
@@ -36,9 +36,17 @@
SignedEncryptedParts signedEncryptedParts = new SignedEncryptedParts(false, SPConstants.SP_V11);
- for (Iterator iterator = element.getChildElements(); iterator.hasNext();) {
- processElement((OMElement) iterator.next(), signedEncryptedParts);
- }
+ Iterator iterator = element.getChildElements();
+ if (iterator.hasNext()) {
+ for (; iterator.hasNext();) {
+ processElement((OMElement) iterator.next(),
+ signedEncryptedParts);
+ }
+ } else {
+ // If we have only <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/>
+ // then we need to encrypt the whole body (refer to http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html#_Toc161826515).
+ signedEncryptedParts.setBody(true);
+ }
return signedEncryptedParts;
}
Modified: webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java
URL: http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java?rev=808438&r1=808437&r2=808438&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java (original)
+++ webservices/rampart/trunk/java/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedPartsBuilder.java Thu Aug 27 14:48:29 2009
@@ -36,9 +36,17 @@
SignedEncryptedParts signedEncryptedParts = new SignedEncryptedParts(false, SPConstants.SP_V12);
- for (Iterator iterator = element.getChildElements(); iterator.hasNext();) {
- processElement((OMElement) iterator.next(), signedEncryptedParts);
- }
+ Iterator iterator = element.getChildElements();
+ if (iterator.hasNext()) {
+ for (; iterator.hasNext();) {
+ processElement((OMElement) iterator.next(),
+ signedEncryptedParts);
+ }
+ } else {
+ // If we have only <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"/>
+ // then we need to encrypt the whole body (refer to http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html#_Toc161826515).
+ signedEncryptedParts.setBody(true);
+ }
return signedEncryptedParts;
}