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;
}