Author: veithen Date: Sun Oct 2 14:37:25 2011 New Revision: 1178193 URL: http://svn.apache.org/viewvc?rev=1178193&view=rev Log: RAMPART-324: Added the test case provided by Amila Jayasekara, but implemented a proper fix based on the feature added by AXIOM-388.
Added: axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/policy/33.xml (with props) axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/services-33.xml (with props) Modified: axis/axis2/java/rampart/trunk/modules/rampart-integration/pom.xml axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RequiredElementsBuilder.java axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ContentEncryptedElementsBuilder.java axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RequiredElementsBuilder.java axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java Modified: axis/axis2/java/rampart/trunk/modules/rampart-integration/pom.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-integration/pom.xml?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-integration/pom.xml (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-integration/pom.xml Sun Oct 2 14:37:25 2011 @@ -257,6 +257,10 @@ <copy overwrite="yes" file="src/test/resources/rampart/services-32.xml" tofile="target/temp-ramp/META-INF/services.xml" /> <jar jarfile="target/test-resources/rampart_service_repo/services/SecureService32.aar" basedir="target/temp-ramp" /> + <!-- Service 33 --> + <copy overwrite="yes" file="src/test/resources/rampart/services-33.xml" tofile="target/temp-ramp/META-INF/services.xml" /> + <jar jarfile="target/test-resources/rampart_service_repo/services/SecureService33.aar" basedir="target/temp-ramp" /> + <!-- Service SC-1 --> <copy overwrite="yes" file="src/test/resources/rampart/issuer.properties" tofile="target/temp-ramp/issuer.properties" /> <copy overwrite="yes" file="src/test/resources/rampart/services-sc-1.xml" tofile="target/temp-ramp/META-INF/services.xml" /> Modified: axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/java/org/apache/rampart/RampartTest.java Sun Oct 2 14:37:25 2011 @@ -83,7 +83,7 @@ public class RampartTest extends TestCas "Unlimited Strength Jurisdiction Policy !!!"); } - for (int i = 1; i <= 32; i++) { //<-The number of tests we have + for (int i = 1; i <= 33; i++) { //<-The number of tests we have if(!basic256Supported && (i == 3 || i == 4 || i == 5)) { //Skip the Basic256 tests continue; Added: axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/policy/33.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/policy/33.xml?rev=1178193&view=auto ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/policy/33.xml (added) +++ axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/policy/33.xml Sun Oct 2 14:37:25 2011 @@ -0,0 +1,103 @@ +<wsp:Policy wsu:Id="SignEncryptXPath" + xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" + xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> + <wsp:ExactlyOne> + <wsp:All> + + <sp:AsymmetricBinding + xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <wsp:Policy> + <sp:InitiatorToken> + <wsp:Policy> + <sp:X509Token + sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> + <wsp:Policy> + <sp:WssX509V3Token10/> + </wsp:Policy> + </sp:X509Token> + + </wsp:Policy> + </sp:InitiatorToken> + <sp:RecipientToken> + <wsp:Policy> + <sp:X509Token + sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> + <wsp:Policy> + <sp:WssX509V3Token10/> + </wsp:Policy> + </sp:X509Token> + + </wsp:Policy> + </sp:RecipientToken> + <sp:AlgorithmSuite> + <wsp:Policy> + <sp:TripleDesRsa15/> + </wsp:Policy> + </sp:AlgorithmSuite> + <sp:Layout> + <wsp:Policy> + + <sp:Strict/> + </wsp:Policy> + </sp:Layout> + <sp:IncludeTimestamp/> + <sp:OnlySignEntireHeadersAndBody/> + </wsp:Policy> + </sp:AsymmetricBinding> + <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <wsp:Policy> + + <sp:MustSupportRefKeyIdentifier/> + <sp:MustSupportRefIssuerSerial/> + </wsp:Policy> + </sp:Wss10> + + <sp:EncryptedElements xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:ser="http://example1.org/example1" + xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <sp:XPath>/soapenv:Envelope/soapenv:Body/ser:example1</sp:XPath> + </sp:EncryptedElements> + <sp:SignedElements xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:test="http://example1.org/example1" + xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <sp:XPath>/soapenv:Envelope/soapenv:Body/test:example1</sp:XPath> + </sp:SignedElements> + + <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> + <ramp:user>alice</ramp:user> + <ramp:encryptionUser>bob</ramp:encryptionUser> + <ramp:passwordCallbackClass>org.apache.rampart.PWCallback + </ramp:passwordCallbackClass> + + <ramp:signatureCrypto> + <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> + <ramp:property + name="org.apache.ws.security.crypto.merlin.keystore.type">JKS + </ramp:property> + <ramp:property name="org.apache.ws.security.crypto.merlin.file"> + rampart/store.jks + </ramp:property> + <ramp:property + name="org.apache.ws.security.crypto.merlin.keystore.password"> + password + </ramp:property> + </ramp:crypto> + </ramp:signatureCrypto> + <ramp:encryptionCypto> + <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> + <ramp:property + name="org.apache.ws.security.crypto.merlin.keystore.type">JKS + </ramp:property> + <ramp:property name="org.apache.ws.security.crypto.merlin.file"> + rampart/store.jks + </ramp:property> + <ramp:property + name="org.apache.ws.security.crypto.merlin.keystore.password"> + password + </ramp:property> + </ramp:crypto> + </ramp:encryptionCypto> + </ramp:RampartConfig> + </wsp:All> + </wsp:ExactlyOne> +</wsp:Policy> Propchange: axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/policy/33.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/services-33.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/services-33.xml?rev=1178193&view=auto ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/services-33.xml (added) +++ axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/services-33.xml Sun Oct 2 14:37:25 2011 @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ! + ! Copyright 2006 The Apache Software Foundation. + ! + ! Licensed under the Apache License, Version 2.0 (the "License"); + ! you may not use this file except in compliance with the License. + ! You may obtain a copy of the License at + ! + ! http://www.apache.org/licenses/LICENSE-2.0 + ! + ! Unless required by applicable law or agreed to in writing, software + ! distributed under the License is distributed on an "AS IS" BASIS, + ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ! See the License for the specific language governing permissions and + ! limitations under the License. + !--> +<service name="SecureService33"> + + <module ref="addressing"/> + <module ref="rampart"/> + + <parameter locked="false" name="ServiceClass">org.apache.rampart.Service</parameter> + + <operation name="echo"> + <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> + <actionMapping>urn:echo</actionMapping> + </operation> + + <operation name="returnError"> + <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> + <actionMapping>urn:returnError</actionMapping> + </operation> + + <wsp:Policy wsu:Id="EncryptOnly" + xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" + xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> + <wsp:ExactlyOne> + <wsp:All> + + <sp:AsymmetricBinding + xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <wsp:Policy> + <sp:InitiatorToken> + <wsp:Policy> + <sp:X509Token + sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> + <wsp:Policy> + <sp:WssX509V3Token10/> + </wsp:Policy> + </sp:X509Token> + + </wsp:Policy> + </sp:InitiatorToken> + <sp:RecipientToken> + <wsp:Policy> + <sp:X509Token + sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"> + <wsp:Policy> + <sp:WssX509V3Token10/> + </wsp:Policy> + </sp:X509Token> + + </wsp:Policy> + </sp:RecipientToken> + <sp:AlgorithmSuite> + <wsp:Policy> + <sp:TripleDesRsa15/> + </wsp:Policy> + </sp:AlgorithmSuite> + <sp:Layout> + <wsp:Policy> + + <sp:Strict/> + </wsp:Policy> + </sp:Layout> + <sp:IncludeTimestamp/> + <sp:OnlySignEntireHeadersAndBody/> + </wsp:Policy> + </sp:AsymmetricBinding> + <sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <wsp:Policy> + + <sp:MustSupportRefKeyIdentifier/> + <sp:MustSupportRefIssuerSerial/> + </wsp:Policy> + </sp:Wss10> + + <sp:EncryptedElements xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:ser="http://example1.org/example1" + xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <sp:XPath>/soapenv:Envelope/soapenv:Body/ser:example1</sp:XPath> + </sp:EncryptedElements> + <sp:SignedElements xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" + xmlns:test="http://example1.org/example1" + xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <sp:XPath>/soapenv:Envelope/soapenv:Body/test:example1</sp:XPath> + </sp:SignedElements> + + <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> + <ramp:user>alice</ramp:user> + <ramp:encryptionUser>bob</ramp:encryptionUser> + <ramp:passwordCallbackClass>org.apache.rampart.PWCallback + </ramp:passwordCallbackClass> + + <ramp:signatureCrypto> + <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> + <ramp:property + name="org.apache.ws.security.crypto.merlin.keystore.type">JKS + </ramp:property> + <ramp:property name="org.apache.ws.security.crypto.merlin.file"> + rampart/store.jks + </ramp:property> + <ramp:property + name="org.apache.ws.security.crypto.merlin.keystore.password"> + password + </ramp:property> + </ramp:crypto> + </ramp:signatureCrypto> + <ramp:encryptionCypto> + <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> + <ramp:property + name="org.apache.ws.security.crypto.merlin.keystore.type">JKS + </ramp:property> + <ramp:property name="org.apache.ws.security.crypto.merlin.file"> + rampart/store.jks + </ramp:property> + <ramp:property + name="org.apache.ws.security.crypto.merlin.keystore.password"> + password + </ramp:property> + </ramp:crypto> + </ramp:encryptionCypto> + </ramp:RampartConfig> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy> + + +</service> Propchange: axis/axis2/java/rampart/trunk/modules/rampart-integration/src/test/resources/rampart/services-33.xml ------------------------------------------------------------------------------ svn:eol-style = native Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/EncryptedElementsBuilder.java Sun Oct 2 14:37:25 2011 @@ -64,7 +64,7 @@ public class EncryptedElementsBuilder im private void processElement(OMElement element, SignedEncryptedElements parent) { if (SP11Constants.XPATH.equals(element.getQName())) { parent.addXPathExpression(element.getText()); - Iterator namespaces = element.getAllDeclaredNamespaces(); + Iterator namespaces = element.getNamespacesInScope(); while (namespaces.hasNext()) { OMNamespace nm = (OMNamespace) namespaces.next(); parent.addDeclaredNamespaces(nm.getNamespaceURI(), nm.getPrefix()); Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RequiredElementsBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RequiredElementsBuilder.java?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RequiredElementsBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/RequiredElementsBuilder.java Sun Oct 2 14:37:25 2011 @@ -56,7 +56,7 @@ public class RequiredElementsBuilder imp QName name = element.getQName(); if (SP11Constants.XPATH.equals(name)) { parent.addXPathExpression(element.getText()); - Iterator namespaces = element.getAllDeclaredNamespaces(); + Iterator namespaces = element.getNamespacesInScope(); while (namespaces.hasNext()) { OMNamespace nm = (OMNamespace) namespaces.next(); parent.addDeclaredNamespaces(nm.getNamespaceURI(), nm.getPrefix()); Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy11/builders/SignedElementsBuilder.java Sun Oct 2 14:37:25 2011 @@ -62,7 +62,7 @@ public class SignedElementsBuilder imple QName name = element.getQName(); if (SP11Constants.XPATH.equals(name)) { parent.addXPathExpression(element.getText()); - Iterator namespaces = element.getAllDeclaredNamespaces(); + Iterator namespaces = element.getNamespacesInScope(); while (namespaces.hasNext()) { OMNamespace nm = (OMNamespace) namespaces.next(); parent.addDeclaredNamespaces(nm.getNamespaceURI(), nm.getPrefix()); Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ContentEncryptedElementsBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ContentEncryptedElementsBuilder.java?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ContentEncryptedElementsBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/ContentEncryptedElementsBuilder.java Sun Oct 2 14:37:25 2011 @@ -56,7 +56,7 @@ public class ContentEncryptedElementsBui QName name = element.getQName(); if (SP12Constants.XPATH.equals(name)) { parent.addXPathExpression(element.getText()); - Iterator namespaces = element.getAllDeclaredNamespaces(); + Iterator namespaces = element.getNamespacesInScope(); while (namespaces.hasNext()) { OMNamespace nm = (OMNamespace) namespaces.next(); parent.addDeclaredNamespaces(nm.getNamespaceURI(), nm.getPrefix()); Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/EncryptedElementsBuilder.java Sun Oct 2 14:37:25 2011 @@ -65,7 +65,7 @@ public class EncryptedElementsBuilder im private void processElement(OMElement element, SignedEncryptedElements parent) { if (SP12Constants.XPATH.equals(element.getQName())) { parent.addXPathExpression(element.getText()); - Iterator namespaces = element.getAllDeclaredNamespaces(); + Iterator namespaces = element.getNamespacesInScope(); while (namespaces.hasNext()) { OMNamespace nm = (OMNamespace) namespaces.next(); parent.addDeclaredNamespaces(nm.getNamespaceURI(), nm.getPrefix()); Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RequiredElementsBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RequiredElementsBuilder.java?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RequiredElementsBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/RequiredElementsBuilder.java Sun Oct 2 14:37:25 2011 @@ -57,7 +57,7 @@ public class RequiredElementsBuilder imp QName name = element.getQName(); if (SP12Constants.XPATH.equals(name)) { parent.addXPathExpression(element.getText()); - Iterator namespaces = element.getAllDeclaredNamespaces(); + Iterator namespaces = element.getNamespacesInScope(); while (namespaces.hasNext()) { OMNamespace nm = (OMNamespace) namespaces.next(); parent.addDeclaredNamespaces(nm.getNamespaceURI(), nm.getPrefix()); Modified: axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java?rev=1178193&r1=1178192&r2=1178193&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-policy/src/main/java/org/apache/ws/secpolicy12/builders/SignedElementsBuilder.java Sun Oct 2 14:37:25 2011 @@ -63,7 +63,7 @@ public class SignedElementsBuilder imple QName name = element.getQName(); if (SP12Constants.XPATH.equals(name)) { parent.addXPathExpression(element.getText()); - Iterator namespaces = element.getAllDeclaredNamespaces(); + Iterator namespaces = element.getNamespacesInScope(); while (namespaces.hasNext()) { OMNamespace nm = (OMNamespace) namespaces.next(); parent.addDeclaredNamespaces(nm.getNamespaceURI(), nm.getPrefix());