Author: ruchithf Date: Fri Oct 27 04:47:10 2006 New Revision: 468353 URL: http://svn.apache.org/viewvc?view=rev&rev=468353 Log: Added sample03 : Sign and encrypt , and changed the algo suite used in sample02
Added: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/README.txt webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/policy.xml webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/services.xml webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/PWCBHandler.java webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/SimpleService.java Modified: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample02/policy.xml Modified: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample02/policy.xml URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample02/policy.xml?view=diff&rev=468353&r1=468352&r2=468353 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample02/policy.xml (original) +++ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample02/policy.xml Fri Oct 27 04:47:10 2006 @@ -23,7 +23,7 @@ </sp:RecipientToken> <sp:AlgorithmSuite> <wsp:Policy> - <sp:Basic256/> + <sp:TripleDesRsa15/> </wsp:Policy> </sp:AlgorithmSuite> <sp:Layout> Added: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/README.txt URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/README.txt?view=auto&rev=468353 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/README.txt (added) +++ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/README.txt Fri Oct 27 04:47:10 2006 @@ -0,0 +1 @@ +TODO \ No newline at end of file Added: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/policy.xml URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/policy.xml?view=auto&rev=468353 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/policy.xml (added) +++ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/policy.xml Fri Oct 27 04:47:10 2006 @@ -0,0 +1,74 @@ +<wsp:Policy wsu:Id="SigEncr" 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/AlwaysToRecipient"> + <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:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <sp:Body/> + </sp:SignedParts> + <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <sp:Body/> + </sp:EncryptedParts> + + <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> + <ramp:user>client</ramp:user> + <ramp:encryptionUser>service</ramp:encryptionUser> + <ramp:passwordCallbackClass>org.apache.rampart.samples.policy.sample03.PWCBHandler</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">client.jks</ramp:property> + <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</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">client.jks</ramp:property> + <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</ramp:property> + </ramp:crypto> + </ramp:encryptionCypto> + </ramp:RampartConfig> + + </wsp:All> + </wsp:ExactlyOne> +</wsp:Policy> Added: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/services.xml URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/services.xml?view=auto&rev=468353 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/services.xml (added) +++ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/services.xml Fri Oct 27 04:47:10 2006 @@ -0,0 +1,86 @@ +<!-- services.xml of sample-2 : Sign only--> +<service> + <operation name="echo"> + <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> + </operation> + <parameter name="ServiceClass" locked="false">org.apache.rampart.samples.policy.sample03.SimpleService</parameter> + + <module ref="rampart" /> + <module ref="addressing" /> + +<wsp:Policy wsu:Id="SigEncr" 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/AlwaysToRecipient"> + <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:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <sp:Body/> + </sp:SignedParts> + <sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> + <sp:Body/> + </sp:EncryptedParts> + + <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> + <ramp:user>service</ramp:user> + <ramp:encryptionUser>client</ramp:encryptionUser> + <ramp:passwordCallbackClass>org.apache.rampart.samples.policy.sample03.PWCBHandler</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">service.jks</ramp:property> + <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</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">service.jks</ramp:property> + <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.password">apache</ramp:property> + </ramp:crypto> + </ramp:encryptionCypto> + </ramp:RampartConfig> + + </wsp:All> + </wsp:ExactlyOne> +</wsp:Policy> + +</service> Added: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java?view=auto&rev=468353 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java (added) +++ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/Client.java Fri Oct 27 04:47:10 2006 @@ -0,0 +1,77 @@ +/* + * Copyright 2004,2005 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. + */ + +package org.apache.rampart.samples.policy.sample03; + +import org.apache.axiom.om.OMAbstractFactory; +import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.OMFactory; +import org.apache.axiom.om.OMNamespace; +import org.apache.axiom.om.impl.builder.StAXOMBuilder; +import org.apache.axis2.addressing.EndpointReference; +import org.apache.axis2.client.Options; +import org.apache.axis2.client.ServiceClient; +import org.apache.axis2.context.ConfigurationContext; +import org.apache.axis2.context.ConfigurationContextFactory; +import org.apache.neethi.Policy; +import org.apache.neethi.PolicyEngine; +import org.apache.rampart.RampartMessageData; + +import javax.xml.namespace.QName; + +public class Client { + + public static void main(String[] args) throws Exception { + + if(args.length != 3) { + System.out.println("Usage: $java Client endpoint_address client_repo_path policy_xml_path"); + } + + ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(args[1], null); + + ServiceClient client = new ServiceClient(ctx, null); + Options options = new Options(); + options.setAction("urn:echo"); + options.setTo(new EndpointReference(args[0])); + options.setProperty(RampartMessageData.KEY_RAMPART_POLICY, loadPolicy(args[2])); + client.setOptions(options); + + client.engageModule(new QName("addressing")); + client.engageModule(new QName("rampart")); + + OMElement response = client.sendReceive(getPayload("Hello world")); + + System.out.println(response); + + } + + private static Policy loadPolicy(String xmlPath) throws Exception { + StAXOMBuilder builder = new StAXOMBuilder(xmlPath); + return PolicyEngine.getPolicy(builder.getDocumentElement()); + } + + private static OMElement getPayload(String value) { + OMFactory factory = OMAbstractFactory.getOMFactory(); + OMNamespace ns = factory.createOMNamespace("http://sample03.policy.samples.rampart.apache.org/xsd","ns1"); + OMElement elem = factory.createOMElement("echo", ns); + OMElement childElem = factory.createOMElement("param0", null); + childElem.setText(value); + elem.addChild(childElem); + + return elem; + } + +} Added: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/PWCBHandler.java URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/PWCBHandler.java?view=auto&rev=468353 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/PWCBHandler.java (added) +++ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/PWCBHandler.java Fri Oct 27 04:47:10 2006 @@ -0,0 +1,42 @@ +/* + * Copyright 2004,2005 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. + */ + +package org.apache.rampart.samples.policy.sample03; + +import org.apache.ws.security.WSPasswordCallback; + +import javax.security.auth.callback.Callback; +import javax.security.auth.callback.CallbackHandler; +import javax.security.auth.callback.UnsupportedCallbackException; + +import java.io.IOException; + +public class PWCBHandler implements CallbackHandler { + + public void handle(Callback[] callbacks) throws IOException, + UnsupportedCallbackException { + for (int i = 0; i < callbacks.length; i++) { + WSPasswordCallback pwcb = (WSPasswordCallback)callbacks[i]; + String id = pwcb.getIdentifer(); + if("client".equals(id)) { + pwcb.setPassword("apache"); + } else if("service".equals(id)) { + pwcb.setPassword("apache"); + } + } + } + +} Added: webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/SimpleService.java URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/SimpleService.java?view=auto&rev=468353 ============================================================================== --- webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/SimpleService.java (added) +++ webservices/axis2/branches/java/1_1/modules/samples/security/policy/sample03/src/org/apache/rampart/samples/policy/sample03/SimpleService.java Fri Oct 27 04:47:10 2006 @@ -0,0 +1,24 @@ +/* + * Copyright 2003-2005 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. + * + */ +package org.apache.rampart.samples.policy.sample03; + +public class SimpleService { + + public String echo(String arg) { + return arg; + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]