Author: nandana
Date: Mon Aug 31 19:34:36 2009
New Revision: 809709

URL: http://svn.apache.org/viewvc?rev=809709&view=rev
Log:
RAMPART-256 Adding new sample. Thanks Prabath

Added:
    webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/README.txt
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/mex_policy.xml
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/policy.xml
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/services.xml
    webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/PWCBHandler.java
    
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/SimpleService.java
Modified:
    webservices/rampart/trunk/java/modules/rampart-samples/keys/client.jks
    webservices/rampart/trunk/java/modules/rampart-samples/policy/build.xml

Modified: webservices/rampart/trunk/java/modules/rampart-samples/keys/client.jks
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/keys/client.jks?rev=809709&r1=809708&r2=809709&view=diff
==============================================================================
Binary files - no diff available.

Modified: 
webservices/rampart/trunk/java/modules/rampart-samples/policy/build.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/policy/build.xml?rev=809709&r1=809708&r2=809709&view=diff
==============================================================================
--- webservices/rampart/trunk/java/modules/rampart-samples/policy/build.xml 
(original)
+++ webservices/rampart/trunk/java/modules/rampart-samples/policy/build.xml Mon 
Aug 31 19:34:36 2009
@@ -99,6 +99,16 @@
         <create.and.run.client sample.number="06"/>
     </target>
 
+    <!-- Sample Service 07 -->
+    <target name="service.07" if="env.AXIS2_HOME" depends="check.dependency">
+        <create.trust.service.repo sample.number="07"/>
+    </target>
+
+    <!-- Sample Client 07 -->
+    <target name="client.07" if="env.AXIS2_HOME" depends="check.dependency">
+        <create.and.run.client sample.number="07"/>
+    </target>
+
        <target name="clean">
                <delete dir="build" />
        </target>

Added: 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/README.txt
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/README.txt?rev=809709&view=auto
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/README.txt
 (added)
+++ 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/README.txt
 Mon Aug 31 19:34:36 2009
@@ -0,0 +1,13 @@
+Sign and Encrypt messages with multiple X509 certficates with multiple 
supporting tokens.
+
+An AsymmetricBinding is used.
+
+Multiple Supporting Tokens used each having different X509 certs for signature 
and encryption.
+
+X509Token asserton carries a RampartConfig assertion to specify the keys that 
needs to be used to sign/encrypt
+EncryptedElements/EncryptedParts/SignedElements/SignedParts
+
+Algorithm suite is TripleDesRsa15
+
+Note that {http://ws.apache.org/rampart/policy}RampartConfig assertion provides
+additional information required to secure the message.
\ No newline at end of file

Added: 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/mex_policy.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/mex_policy.xml?rev=809709&view=auto
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/mex_policy.xml
 (added)
+++ 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/mex_policy.xml
 Mon Aug 31 19:34:36 2009
@@ -0,0 +1,97 @@
+ <wsp:Policy wsu:Id="SigEncrWithMultipleKeys"
+       
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:RequireThumbprintReference />
+                                                                       
<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:RequireThumbprintReference />
+                                                                       
<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:SupportingTokens
+                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:X509Token
+                                               
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";>
+                                               <wsp:Policy>
+                                                       
<sp:RequireThumbprintReference />
+                                                       <sp:WssX509V3Token10 />
+                                               </wsp:Policy>
+                                       </sp:X509Token>
+                                       <sp:EncryptedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param0</sp:XPath>
+                                       </sp:EncryptedElements>
+                                       <sp:SignedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param0</sp:XPath>
+                                       </sp:SignedElements>
+                               </wsp:Policy>
+                       </sp:SupportingTokens>
+                       <sp:SupportingTokens
+                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:X509Token
+                                               
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";>
+                                               <wsp:Policy>
+                                                       
<sp:RequireThumbprintReference />
+                                                       <sp:WssX509V3Token10 />
+                                               </wsp:Policy>
+                                       </sp:X509Token>
+                                       <sp:EncryptedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param1</sp:XPath>
+                                       </sp:EncryptedElements>
+                                       <sp:SignedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param1</sp:XPath>
+                                       </sp:SignedElements>
+                               </wsp:Policy>
+                       </sp:SupportingTokens>
+                       <sp:Wss10 
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:MustSupportRefKeyIdentifier />
+                                       <sp:MustSupportRefIssuerSerial />
+                               </wsp:Policy>
+                       </sp:Wss10>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
\ No newline at end of file

Added: 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/policy.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/policy.xml?rev=809709&view=auto
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/policy.xml
 (added)
+++ 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/policy.xml
 Mon Aug 31 19:34:36 2009
@@ -0,0 +1,124 @@
+<wsp:Policy wsu:Id="SigEncrWithMultipleKeys"
+       
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:RequireThumbprintReference />
+                                                                       
<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:RequireThumbprintReference />
+                                                                       
<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:SupportingTokens
+                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:X509Token
+                                               
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";>
+                                               <wsp:Policy>
+                                                       
<sp:RequireThumbprintReference />
+                                                       <sp:WssX509V3Token10 />
+                                                       <ramp:RampartConfig 
xmlns:ramp="http://ws.apache.org/rampart/policy";>
+                                                               
<ramp:userCertAlias>client2</ramp:userCertAlias>
+                                                               
<ramp:encryptionUser>service</ramp:encryptionUser>
+                                                       </ramp:RampartConfig>
+                                               </wsp:Policy>
+                                       </sp:X509Token>
+                                       <sp:EncryptedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param0</sp:XPath>
+                                       </sp:EncryptedElements>
+                                       <sp:SignedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param0</sp:XPath>
+                                       </sp:SignedElements>
+                               </wsp:Policy>
+                       </sp:SupportingTokens>
+                       <sp:SupportingTokens
+                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:X509Token
+                                               
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";>
+                                               <wsp:Policy>
+                                                       
<sp:RequireThumbprintReference />
+                                                       <sp:WssX509V3Token10 />
+                                                       <ramp:RampartConfig 
xmlns:ramp="http://ws.apache.org/rampart/policy";>
+                                                               
<ramp:userCertAlias>client</ramp:userCertAlias>
+                                                               
<ramp:encryptionUser>service</ramp:encryptionUser>
+                                                       </ramp:RampartConfig>
+                                               </wsp:Policy>
+                                       </sp:X509Token>
+                                       <sp:EncryptedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param1</sp:XPath>
+                                       </sp:EncryptedElements>
+                                       <sp:SignedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param1</sp:XPath>
+                                       </sp:SignedElements>
+                               </wsp:Policy>
+                       </sp:SupportingTokens>
+                       <sp:Wss10 
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:MustSupportRefKeyIdentifier />
+                                       <sp:MustSupportRefIssuerSerial />
+                               </wsp:Policy>
+                       </sp:Wss10>
+                       <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.sample07.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/rampart/trunk/java/modules/rampart-samples/policy/sample07/services.xml
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/services.xml?rev=809709&view=auto
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/services.xml
 (added)
+++ 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/services.xml
 Mon Aug 31 19:34:36 2009
@@ -0,0 +1,158 @@
+<?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.
+ !-->
+<!-- services.xml of sample-07 : Sign and Encryption with multiple keys-->
+<service>
+    <operation name="echo">
+        <messageReceiver 
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
+    </operation>
+    <parameter name="ServiceClass" 
locked="false">org.apache.rampart.samples.policy.sample07.SimpleService</parameter>
+
+    <module ref="rampart"/>
+    <module ref="addressing"/>
+
+   <wsp:Policy wsu:Id="SigEncrWithMultipleKeys"
+       
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:RequireThumbprintReference />
+                                                                       
<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:RequireThumbprintReference />
+                                                                       
<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:SupportingTokens
+                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:X509Token
+                                               
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";>
+                                               <wsp:Policy>
+                                                       
<sp:RequireThumbprintReference />
+                                                       <sp:WssX509V3Token10 />
+                                                       <ramp:RampartConfig 
xmlns:ramp="http://ws.apache.org/rampart/policy";>
+                                                               
<ramp:userCertAlias>client2</ramp:userCertAlias>
+                                                               
<ramp:encryptionUser>client2</ramp:encryptionUser>
+                                                       </ramp:RampartConfig>
+                                               </wsp:Policy>
+                                       </sp:X509Token>
+                                       <sp:EncryptedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param0</sp:XPath>
+                                       </sp:EncryptedElements>
+                                       <sp:SignedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param0</sp:XPath>
+                                       </sp:SignedElements>
+                               </wsp:Policy>
+                       </sp:SupportingTokens>
+                       <sp:SupportingTokens
+                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:X509Token
+                                               
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always";>
+                                               <wsp:Policy>
+                                                       
<sp:RequireThumbprintReference />
+                                                       <sp:WssX509V3Token10 />
+                                                       <ramp:RampartConfig 
xmlns:ramp="http://ws.apache.org/rampart/policy";>
+                                                               
<ramp:userCertAlias>client</ramp:userCertAlias>
+                                                               
<ramp:encryptionUser>service</ramp:encryptionUser>
+                                                       </ramp:RampartConfig>
+                                               </wsp:Policy>
+                                       </sp:X509Token>
+                                       <sp:EncryptedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param1</sp:XPath>
+                                       </sp:EncryptedElements>
+                                       <sp:SignedElements 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
+                                               
xmlns:ns="http://sample07.policy.samples.rampart.apache.org";
+                                               
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                                               
<sp:XPath>/soapenv:Envelope/soapenv:Body/ns:echo/ns:param1</sp:XPath>
+                                       </sp:SignedElements>
+                               </wsp:Policy>
+                       </sp:SupportingTokens>
+                       <sp:Wss10 
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
+                               <wsp:Policy>
+                                       <sp:MustSupportRefKeyIdentifier />
+                                       <sp:MustSupportRefIssuerSerial />
+                               </wsp:Policy>
+                       </sp:Wss10>
+                  <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.sample07.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/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java?rev=809709&view=auto
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java
 (added)
+++ 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/Client.java
 Mon Aug 31 19:34:36 2009
@@ -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.sample07;
+
+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("addressing");
+        client.engageModule("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://sample07.policy.samples.rampart.apache.org","ns";);
+        OMElement elem = factory.createOMElement("echo", ns);
+        OMElement childElem = factory.createOMElement("param0", ns);
+        childElem.setText(value);
+        elem.addChild(childElem);
+        
+        return elem;
+    }
+    
+}

Added: 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/PWCBHandler.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/PWCBHandler.java?rev=809709&view=auto
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/PWCBHandler.java
 (added)
+++ 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/PWCBHandler.java
 Mon Aug 31 19:34:36 2009
@@ -0,0 +1,44 @@
+/*
+ * 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.sample07;
+
+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");
+            }else  if("client2".equals(id)) {
+                pwcb.setPassword("apache");
+            }
+        }
+    }
+
+}

Added: 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/SimpleService.java
URL: 
http://svn.apache.org/viewvc/webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/SimpleService.java?rev=809709&view=auto
==============================================================================
--- 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/SimpleService.java
 (added)
+++ 
webservices/rampart/trunk/java/modules/rampart-samples/policy/sample07/src/org/apache/rampart/samples/policy/sample07/SimpleService.java
 Mon Aug 31 19:34:36 2009
@@ -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.sample07;
+
+public class SimpleService {
+    
+    public String echo(String arg) {
+        return arg;
+    }
+}


Reply via email to