You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by co...@apache.org on 2014/12/01 17:10:15 UTC

[1/6] cxf git commit: Added a new "kerberos" system module for integration testing using the Apache DS KDC

Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes dd56dc911 -> 700bc8036


http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/stax-server.xml
----------------------------------------------------------------------
diff --git a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/stax-server.xml b/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/stax-server.xml
deleted file mode 100644
index 40f21e7..0000000
--- a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/stax-server.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you 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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:interop="http://WSSec/wssec10" xmlns:cxf="http://cxf.apache.org/core" xmlns:p="http://cxf.apache.org/policy" xsi:schemaLocation="         http://www.springframework.org/schema/beans                     http://www.springframework.org/schema/beans/spring-beans.xsd         http://cxf.apache.org/jaxws                                     http://cxf.apache.org/schemas/jaxws.xsd         http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd         http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd         http://cxf.apache.org/transports/http/configuration             http://cxf.apache.org/schemas/configuration
 /http-conf.xsd         http://cxf.apache.org/transports/http-jetty/configuration       http://cxf.apache.org/schemas/configuration/http-jetty.xsd         http://cxf.apache.org/configuration/security                    http://cxf.apache.org/schemas/configuration/security.xsd     ">
-    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
-    <cxf:bus>
-        <cxf:features>
-            <p:policies/>
-            <cxf:logging/>
-        </cxf:features>
-    </cxf:bus>
-    <!-- -->
-    <!-- Any services listening on port 9009 must use the following -->
-    <!-- Transport Layer Security (TLS) settings -->
-    <!-- -->
-    <httpj:engine-factory id="tls-settings">
-        <httpj:engine port="${testutil.ports.StaxServer.2}">
-            <httpj:tlsServerParameters>
-                <sec:keyManagers keyPassword="password">
-                    <sec:keyStore type="jks" password="password" resource="org/apache/cxf/systest/ws/security/Bethal.jks"/>
-                </sec:keyManagers>
-                <sec:trustManagers>
-                    <sec:keyStore type="jks" password="password" resource="org/apache/cxf/systest/ws/security/Truststore.jks"/>
-                </sec:trustManagers>
-                <sec:cipherSuitesFilter>
-                    <sec:include>.*_EXPORT_.*</sec:include>
-                    <sec:include>.*_EXPORT1024_.*</sec:include>
-                    <sec:include>.*_WITH_DES_.*</sec:include>
-                    <sec:include>.*_WITH_AES_.*</sec:include>
-                </sec:cipherSuitesFilter>
-                <sec:clientAuthentication want="true" required="true"/>
-            </httpj:tlsServerParameters>
-        </httpj:engine>
-    </httpj:engine-factory>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransport" address="https://localhost:${testutil.ports.StaxServer.2}/DoubleItKerberosTransport" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
-        <jaxws:properties>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransport2" address="https://localhost:${testutil.ports.StaxServer.2}/DoubleItKerberosTransport2" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportPort2" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
-        <jaxws:properties>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetric" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetric" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSupporting" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricSupporting" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSupportingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosSupporting" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSupporting" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSupportingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetric" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosAsymmetric" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.username" value="bob"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.properties" value="alice.properties"/>
-            <entry key="ws-security.encryption.username" value="alice"/>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransportEndorsing" address="https://localhost:${testutil.ports.StaxServer.2}/DoubleItKerberosTransportEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportEndorsingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
-        <jaxws:properties>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricEndorsing" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosAsymmetricEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricEndorsingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.username" value="bob"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.properties" value="alice.properties"/>
-            <entry key="ws-security.encryption.username" value="alice"/>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricProtection" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricProtection" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricProtectionPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricDerivedProtection" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricDerivedProtection" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricDerivedProtectionPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricSignedEndorsing" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosAsymmetricSignedEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricSignedEndorsingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.username" value="bob"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.properties" value="alice.properties"/>
-            <entry key="ws-security.encryption.username" value="alice"/>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricSignedEncrypted" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosAsymmetricSignedEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricSignedEncryptedPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.username" value="bob"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.properties" value="alice.properties"/>
-            <entry key="ws-security.encryption.username" value="alice"/>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricEndorsingEncrypted" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricEndorsingEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricEndorsingEncryptedPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSignedEndorsingEncrypted" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricSignedEndorsingEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSignedEndorsingEncryptedPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.kerberos.KerberosPasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.enable.streaming" value="true"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-</beans>


[4/6] cxf git commit: Added a new "kerberos" system module for integration testing using the Apache DS KDC

Posted by co...@apache.org.
http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl b/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl
new file mode 100644
index 0000000..cd858e4
--- /dev/null
+++ b/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl
@@ -0,0 +1,1028 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.org/contract/DoubleIt" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsaws="http://www.w3.org/2005/08/addressing" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" xmlns:sp13="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200802" name="DoubleIt" targetNamespace="http://www.example.org/contract/DoubleIt">
+    <wsdl:import location="src/test/resources/DoubleItLogical.wsdl" namespace="http://www.example.org/contract/DoubleIt"/>
+    <wsdl:binding name="DoubleItKerberosTransportBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosTransportPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosSymmetricBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosSymmetricSupportingBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricSupportingPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosSupportingBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosSupportingPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosAsymmetricBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosAsymmetricPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosTransportEndorsingBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosTransportEndorsingPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosAsymmetricEndorsingBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosAsymmetricEndorsingPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosSymmetricProtectionBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricProtectionPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosSymmetricDerivedProtectionBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricDerivedProtectionPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosAsymmetricSignedEndorsingBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosAsymmetricSignedEndorsingPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosAsymmetricSignedEncryptedBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosAsymmetricSignedEncryptedPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosSymmetricEndorsingEncryptedBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricEndorsingEncryptedPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosSymmetricSignedEndorsingEncryptedBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricSignedEndorsingEncryptedPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="DoubleItKerberosSymmetricSecureConversationBinding" type="tns:DoubleItPortType">
+        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricSecureConversationPolicy"/>
+        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+        <wsdl:operation name="DoubleIt">
+            <soap:operation soapAction=""/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
+            </wsdl:output>
+            <wsdl:fault name="DoubleItFault">
+                <soap:body use="literal" name="DoubleItFault"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="DoubleItService">
+        <wsdl:port name="DoubleItKerberosTransportPort" binding="tns:DoubleItKerberosTransportBinding">
+            <soap:address location="https://localhost:9009/DoubleItKerberosTransport"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosTransportPort2" binding="tns:DoubleItKerberosTransportBinding">
+            <soap:address location="https://localhost:9009/DoubleItKerberosTransport2"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosSymmetricPort" binding="tns:DoubleItKerberosSymmetricBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetric"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosSymmetricSupportingPort" binding="tns:DoubleItKerberosSymmetricSupportingBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricSupporting"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosSupportingPort" binding="tns:DoubleItKerberosSupportingBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosSupporting"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosAsymmetricPort" binding="tns:DoubleItKerberosAsymmetricBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosAsymmetric"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosTransportEndorsingPort" binding="tns:DoubleItKerberosTransportEndorsingBinding">
+            <soap:address location="https://localhost:9009/DoubleItKerberosTransportEndorsing"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosAsymmetricEndorsingPort" binding="tns:DoubleItKerberosAsymmetricEndorsingBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosAsymmetricEndorsing"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosSymmetricProtectionPort" binding="tns:DoubleItKerberosSymmetricProtectionBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricProtection"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosSymmetricDerivedProtectionPort" binding="tns:DoubleItKerberosSymmetricDerivedProtectionBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricDerivedProtection"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosAsymmetricSignedEndorsingPort" binding="tns:DoubleItKerberosAsymmetricSignedEndorsingBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosAsymmetricSignedEndorsing"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosAsymmetricSignedEncryptedPort" binding="tns:DoubleItKerberosAsymmetricSignedEncryptedBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosAsymmetricSignedEncrypted"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosSymmetricEndorsingEncryptedPort" binding="tns:DoubleItKerberosSymmetricEndorsingEncryptedBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricEndorsingEncrypted"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosSymmetricSignedEndorsingEncryptedPort" binding="tns:DoubleItKerberosSymmetricSignedEndorsingEncryptedBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricSignedEndorsingEncrypted"/>
+        </wsdl:port>
+        <wsdl:port name="DoubleItKerberosSymmetricSecureConversationPort" 
+                   binding="tns:DoubleItKerberosSymmetricSecureConversationBinding">
+            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricSecureConversation"/>
+        </wsdl:port>
+    </wsdl:service>
+    <wsp:Policy wsu:Id="DoubleItKerberosTransportPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:TransportBinding>
+                    <wsp:Policy>
+                        <sp:TransportToken>
+                            <wsp:Policy>
+                                <sp:HttpsToken>
+                                    <wsp:Policy/>
+                                </sp:HttpsToken>
+                            </wsp:Policy>
+                        </sp:TransportToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:TransportBinding>
+                <sp:SupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:SupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:SymmetricBinding>
+                    <wsp:Policy>
+                        <sp:ProtectionToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireThumbprintReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:ProtectionToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:SymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:SignedSupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:SignedSupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricSupportingPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:SymmetricBinding>
+                    <wsp:Policy>
+                        <sp:ProtectionToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireThumbprintReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:ProtectionToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:SymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:SupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:SupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosSupportingPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:SupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:SupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosAsymmetricPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:AsymmetricBinding>
+                    <wsp:Policy>
+                        <sp:InitiatorToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireIssuerSerialReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:InitiatorToken>
+                        <sp:RecipientToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireIssuerSerialReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:RecipientToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:ProtectTokens/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:AsymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:SignedSupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:SignedSupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosTransportEndorsingPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:TransportBinding>
+                    <wsp:Policy>
+                        <sp:TransportToken>
+                            <wsp:Policy>
+                                <sp:HttpsToken>
+                                    <wsp:Policy/>
+                                </sp:HttpsToken>
+                            </wsp:Policy>
+                        </sp:TransportToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:TransportBinding>
+                <sp:EndorsingSupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:EndorsingSupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosAsymmetricEndorsingPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:AsymmetricBinding>
+                    <wsp:Policy>
+                        <sp:InitiatorToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireIssuerSerialReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:InitiatorToken>
+                        <sp:RecipientToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireIssuerSerialReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:RecipientToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:AsymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:EndorsingSupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:EndorsingSupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricProtectionPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:SymmetricBinding>
+                    <wsp:Policy>
+                        <sp:ProtectionToken>
+                            <wsp:Policy>
+                                <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                                    <wsp:Policy>
+                                        <sp:WssGssKerberosV5ApReqToken11/>
+                                    </wsp:Policy>
+                                </sp:KerberosToken>
+                            </wsp:Policy>
+                        </sp:ProtectionToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:SymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricDerivedProtectionPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:SymmetricBinding>
+                    <wsp:Policy>
+                        <sp:ProtectionToken>
+                            <wsp:Policy>
+                                <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                                    <wsp:Policy>
+                                        <sp:WssGssKerberosV5ApReqToken11/>
+                                        <sp:RequireDerivedKeys/>
+                                    </wsp:Policy>
+                                </sp:KerberosToken>
+                            </wsp:Policy>
+                        </sp:ProtectionToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:SymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosAsymmetricSignedEndorsingPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:AsymmetricBinding>
+                    <wsp:Policy>
+                        <sp:InitiatorToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireIssuerSerialReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:InitiatorToken>
+                        <sp:RecipientToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireIssuerSerialReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:RecipientToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:AsymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:SignedEndorsingSupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:SignedEndorsingSupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosAsymmetricSignedEncryptedPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:AsymmetricBinding>
+                    <wsp:Policy>
+                        <sp:InitiatorToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireIssuerSerialReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:InitiatorToken>
+                        <sp:RecipientToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireIssuerSerialReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:RecipientToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:ProtectTokens/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:AsymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:SignedEncryptedSupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:SignedEncryptedSupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricEndorsingEncryptedPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:SymmetricBinding>
+                    <wsp:Policy>
+                        <sp:ProtectionToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireThumbprintReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:ProtectionToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:SymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:EndorsingEncryptedSupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:EndorsingEncryptedSupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricSignedEndorsingEncryptedPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:SymmetricBinding>
+                    <wsp:Policy>
+                        <sp:ProtectionToken>
+                            <wsp:Policy>
+                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
+                                    <wsp:Policy>
+                                        <sp:WssX509V3Token10/>
+                                        <sp:RequireThumbprintReference/>
+                                    </wsp:Policy>
+                                </sp:X509Token>
+                            </wsp:Policy>
+                        </sp:ProtectionToken>
+                        <sp:Layout>
+                            <wsp:Policy>
+                                <sp:Lax/>
+                            </wsp:Policy>
+                        </sp:Layout>
+                        <sp:IncludeTimestamp/>
+                        <sp:OnlySignEntireHeadersAndBody/>
+                        <sp:AlgorithmSuite>
+                            <wsp:Policy>
+                                <sp:Basic128/>
+                            </wsp:Policy>
+                        </sp:AlgorithmSuite>
+                    </wsp:Policy>
+                </sp:SymmetricBinding>
+                <sp:Wss11>
+                    <wsp:Policy>
+                        <sp:MustSupportRefIssuerSerial/>
+                        <sp:MustSupportRefThumbprint/>
+                        <sp:MustSupportRefEncryptedKey/>
+                    </wsp:Policy>
+                </sp:Wss11>
+                <sp:SignedEndorsingEncryptedSupportingTokens>
+                    <wsp:Policy>
+                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                            <wsp:Policy>
+                                <sp:WssGssKerberosV5ApReqToken11/>
+                            </wsp:Policy>
+                        </sp:KerberosToken>
+                    </wsp:Policy>
+                </sp:SignedEndorsingEncryptedSupportingTokens>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricSecureConversationPolicy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+            <sp:SymmetricBinding>
+               <wsp:Policy>
+                  <sp:ProtectionToken>
+                     <wsp:Policy>
+                        <sp:SecureConversationToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
+                           <wsp:Policy>
+                              <sp:RequireDerivedKeys/>
+                              <sp:BootstrapPolicy>
+                                <wsp:Policy>
+                                 <sp:SymmetricBinding>
+                                   <wsp:Policy>
+                                      <sp:ProtectionToken>
+                                          <wsp:Policy>
+                                             <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
+                                                <wsp:Policy>
+                                                     <sp:RequireDerivedKeys/>
+                                                     <sp:WssGssKerberosV5ApReqToken11/>
+                                                </wsp:Policy>
+                                             </sp:KerberosToken>
+                                          </wsp:Policy>
+                                       </sp:ProtectionToken>
+                                       <sp:AlgorithmSuite>
+                                          <wsp:Policy>
+                                              <sp:Basic128/>
+                                          </wsp:Policy>
+                                       </sp:AlgorithmSuite>
+                                       <sp:Layout>
+                                          <wsp:Policy>
+                                             <sp:Strict/>
+                                          </wsp:Policy>
+                                       </sp:Layout>
+                                       <sp:IncludeTimestamp/>
+                                       <sp:EncryptSignature/>
+                                       <sp:OnlySignEntireHeadersAndBody/>
+                                    </wsp:Policy>
+                                 </sp:SymmetricBinding>
+                                 <sp:Trust13>
+                                    <wsp:Policy>
+                                       <sp:MustSupportIssuedTokens/>
+                                       <sp:RequireClientEntropy/>
+                                       <sp:RequireServerEntropy/>
+                                    </wsp:Policy>
+                                 </sp:Trust13>
+                                 <sp:Wss11>
+                                     <wsp:Policy>
+                                        <sp:MustSupportRefIssuerSerial/>
+                                        <sp:MustSupportRefThumbprint/>
+                                        <sp:MustSupportRefEncryptedKey/>
+                                     </wsp:Policy>
+                                 </sp:Wss11>
+                             </wsp:Policy>
+                           </sp:BootstrapPolicy>
+                         </wsp:Policy>
+                      </sp:SecureConversationToken>
+                    </wsp:Policy>
+                 </sp:ProtectionToken>
+                 <sp:AlgorithmSuite>
+                    <wsp:Policy>
+                       <sp:Basic128/>
+                    </wsp:Policy>
+                 </sp:AlgorithmSuite>
+                 <sp:Layout>
+                    <wsp:Policy>
+                       <sp:Strict/>
+                    </wsp:Policy>
+                 </sp:Layout>
+                 <sp:IncludeTimestamp/>
+                 <sp:EncryptSignature/>
+                 <sp:OnlySignEntireHeadersAndBody/>
+               </wsp:Policy>
+             </sp:SymmetricBinding>
+             <sp:Trust13>
+                <wsp:Policy>
+                   <sp:MustSupportIssuedTokens/>
+                   <sp:RequireClientEntropy/>
+                   <sp:RequireServerEntropy/>
+                 </wsp:Policy>
+             </sp:Trust13>
+             <sp:Wss11>
+                <wsp:Policy>
+                   <sp:MustSupportRefIssuerSerial/>
+                   <sp:MustSupportRefThumbprint/>
+                   <sp:MustSupportRefEncryptedKey/>
+                 </wsp:Policy>
+             </sp:Wss11>
+           </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    
+    <wsp:Policy wsu:Id="DoubleItBinding_DoubleIt_Input_Policy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:EncryptedParts>
+                    <sp:Body/>
+                </sp:EncryptedParts>
+                <sp:SignedParts>
+                    <sp:Body/>
+                </sp:SignedParts>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+    <wsp:Policy wsu:Id="DoubleItBinding_DoubleIt_Output_Policy">
+        <wsp:ExactlyOne>
+            <wsp:All>
+                <sp:EncryptedParts>
+                    <sp:Body/>
+                </sp:EncryptedParts>
+                <sp:SignedParts>
+                    <sp:Body/>
+                </sp:SignedParts>
+            </wsp:All>
+        </wsp:ExactlyOne>
+    </wsp:Policy>
+</wsdl:definitions>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/client.xml
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/client.xml b/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/client.xml
new file mode 100644
index 0000000..a69e8d4
--- /dev/null
+++ b/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/client.xml
@@ -0,0 +1,256 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:cxf="http://cxf.apache.org/core" xmlns:p="http://cxf.apache.org/policy" xmlns:sec="http://cxf.apache.org/configuration/security" xsi:schemaLocation="           http://www.springframework.org/schema/beans           http://www.springframework.org/schema/beans/spring-beans.xsd           http://cxf.apache.org/jaxws                           http://cxf.apache.org/schemas/jaxws.xsd           http://cxf.apache.org/transports/http/configuration   http://cxf.apache.org/schemas/configuration/http-conf.xsd           http://cxf.apache.org/configuration/security          http://cxf.apache.org/schemas/configuration/security.xsd           http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd           http://cxf.apache.org/policy http://cxf.apache.org/schemas/poli
 cy.xsd">
+    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+    <cxf:bus>
+        <cxf:features>
+            <p:policies/>
+            <cxf:logging/>
+        </cxf:features>
+    </cxf:bus>
+    <http:conduit name="https://localhost.*">
+        <http:tlsClientParameters disableCNCheck="true">
+            <sec:keyManagers keyPassword="password">
+                <sec:keyStore type="jks" password="password" resource="Morpit.jks"/>
+            </sec:keyManagers>
+            <sec:trustManagers>
+                <sec:keyStore type="jks" password="password" resource="Truststore.jks"/>
+            </sec:trustManagers>
+        </http:tlsClientParameters>
+    </http:conduit>
+
+    <bean id="kerberosCallbackHandler" 
+          class="org.apache.cxf.systest.kerberos.common.KerberosClientPasswordCallback"/>
+
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosTransportPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosTransportPort2" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.kerberos.jaas.context" value="alice" />
+            <entry key="ws-security.kerberos.spn" value="bob@service.ws.apache.org" />
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricSupportingPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSupportingPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosAsymmetricPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KeystorePasswordCallback"/>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.signature.properties" value="alice.properties"/>
+            <entry key="ws-security.signature.username" value="alice"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosTransportEndorsingPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+            <entry key="ws-security.signature.properties" value="alice.properties"/>
+            <entry key="ws-security.signature.username" value="alice"/>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KeystorePasswordCallback"/>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosAsymmetricEndorsingPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KeystorePasswordCallback"/>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.signature.properties" value="alice.properties"/>
+            <entry key="ws-security.signature.username" value="alice"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricProtectionPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricDerivedProtectionPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosAsymmetricSignedEndorsingPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KeystorePasswordCallback"/>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.signature.properties" value="alice.properties"/>
+            <entry key="ws-security.signature.username" value="alice"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosAsymmetricSignedEncryptedPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KeystorePasswordCallback"/>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.signature.properties" value="alice.properties"/>
+            <entry key="ws-security.signature.username" value="alice"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricEndorsingEncryptedPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricSignedEndorsingEncryptedPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+   <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricSecureConversationPort" createdFromAPI="true">
+        <jaxws:properties>
+            <entry key="ws-security.encryption.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.username" value="bob"/>
+            <entry key="ws-security.kerberos.client">
+                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
+                    <constructor-arg ref="cxf"/>
+                    <property name="contextName" value="alice"/>
+                    <property name="serviceName" value="bob@service.ws.apache.org"/>
+                    <property name="callbackHandler" ref="kerberosCallbackHandler"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+</beans>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/server.xml
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/server.xml b/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/server.xml
new file mode 100644
index 0000000..a0b94b1
--- /dev/null
+++ b/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/server.xml
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:interop="http://WSSec/wssec10" xmlns:cxf="http://cxf.apache.org/core" xmlns:p="http://cxf.apache.org/policy" xsi:schemaLocation="         http://www.springframework.org/schema/beans                     http://www.springframework.org/schema/beans/spring-beans.xsd         http://cxf.apache.org/jaxws                                     http://cxf.apache.org/schemas/jaxws.xsd         http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd         http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd         http://cxf.apache.org/transports/http/configuration             http://cxf.apache.org/schemas/configuration
 /http-conf.xsd         http://cxf.apache.org/transports/http-jetty/configuration       http://cxf.apache.org/schemas/configuration/http-jetty.xsd         http://cxf.apache.org/configuration/security                    http://cxf.apache.org/schemas/configuration/security.xsd     ">
+    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+    <cxf:bus>
+        <cxf:features>
+            <p:policies/>
+            <cxf:logging/>
+        </cxf:features>
+    </cxf:bus>
+    <!-- -->
+    <!-- Any services listening on port 9009 must use the following -->
+    <!-- Transport Layer Security (TLS) settings -->
+    <!-- -->
+    <httpj:engine-factory id="tls-settings">
+        <httpj:engine port="${testutil.ports.Server.2}">
+            <httpj:tlsServerParameters>
+                <sec:keyManagers keyPassword="password">
+                    <sec:keyStore type="jks" password="password" resource="Bethal.jks"/>
+                </sec:keyManagers>
+                <sec:trustManagers>
+                    <sec:keyStore type="jks" password="password" resource="Truststore.jks"/>
+                </sec:trustManagers>
+                <sec:cipherSuitesFilter>
+                    <sec:include>.*_EXPORT_.*</sec:include>
+                    <sec:include>.*_EXPORT1024_.*</sec:include>
+                    <sec:include>.*_WITH_DES_.*</sec:include>
+                    <sec:include>.*_WITH_AES_.*</sec:include>
+                </sec:cipherSuitesFilter>
+                <sec:clientAuthentication want="true" required="true"/>
+            </httpj:tlsServerParameters>
+        </httpj:engine>
+    </httpj:engine-factory>
+    
+    <bean id="kerberosCallbackHandler" 
+          class="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+          
+    <bean id="kerberosValidator" class="org.apache.wss4j.dom.validate.KerberosTokenValidator">
+        <property name="contextName" value="bob"/>
+        <property name="serviceName" value="bob@service.ws.apache.org"/>
+    </bean>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransport" address="https://localhost:${testutil.ports.Server.2}/DoubleItKerberosTransport" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
+        <jaxws:properties>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransport2" address="https://localhost:${testutil.ports.Server.2}/DoubleItKerberosTransport2" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportPort2" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
+        <jaxws:properties>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetric" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetric" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSupporting" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricSupporting" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSupportingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosSupporting" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSupporting" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSupportingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetric" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosAsymmetric" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.username" value="bob"/>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.properties" value="alice.properties"/>
+            <entry key="ws-security.encryption.username" value="alice"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransportEndorsing" address="https://localhost:${testutil.ports.Server.2}/DoubleItKerberosTransportEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportEndorsingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
+        <jaxws:properties>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricEndorsing" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosAsymmetricEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricEndorsingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.username" value="bob"/>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.properties" value="alice.properties"/>
+            <entry key="ws-security.encryption.username" value="alice"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricProtection" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricProtection" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricProtectionPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricDerivedProtection" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricDerivedProtection" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricDerivedProtectionPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricSignedEndorsing" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosAsymmetricSignedEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricSignedEndorsingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.username" value="bob"/>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.properties" value="alice.properties"/>
+            <entry key="ws-security.encryption.username" value="alice"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricSignedEncrypted" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosAsymmetricSignedEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricSignedEncryptedPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.username" value="bob"/>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.properties" value="alice.properties"/>
+            <entry key="ws-security.encryption.username" value="alice"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricEndorsingEncrypted" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricEndorsingEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricEndorsingEncryptedPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSignedEndorsingEncrypted" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricSignedEndorsingEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSignedEndorsingEncryptedPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSecureConversation" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricSecureConversation" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSecureConversationPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value-ref="kerberosCallbackHandler"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+</beans>


[6/6] cxf git commit: Recording .gitmergeinfo Changes

Posted by co...@apache.org.
Recording .gitmergeinfo Changes


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/700bc803
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/700bc803
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/700bc803

Branch: refs/heads/3.0.x-fixes
Commit: 700bc80368d8cc466d3a7748b1ebc64330947dcc
Parents: 0d19ce6
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Mon Dec 1 15:31:33 2014 +0000
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Mon Dec 1 15:31:33 2014 +0000

----------------------------------------------------------------------
 .gitmergeinfo | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/700bc803/.gitmergeinfo
----------------------------------------------------------------------
diff --git a/.gitmergeinfo b/.gitmergeinfo
index abe0d25..7191872 100644
--- a/.gitmergeinfo
+++ b/.gitmergeinfo
@@ -122,6 +122,7 @@ B fd3471e58e63ee672babc015ed0929f6cd6862dd
 B ff742436a3e177dc61106edf08f2509e727362dd
 B ffd429be404953874e141c52a9c8ba46812d73ca
 M 0d63846798b590255c45463359e2cb1a28e4d3cb
+M 10b043faa0652a6a06f5f020173162edef7fb0ca
 M 1701e6c8d4e794f25d69781e3f69357723ad7fcf
 M 18a3d43cb0044fcb84d3cc89f138fd9e7110dd04
 M 2b4fe9966c46457177f6412525c57c64d07dbe69


[2/6] cxf git commit: Added a new "kerberos" system module for integration testing using the Apache DS KDC

Posted by co...@apache.org.
http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl
----------------------------------------------------------------------
diff --git a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl b/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl
deleted file mode 100644
index cd858e4..0000000
--- a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl
+++ /dev/null
@@ -1,1028 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you 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.
--->
-<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://www.example.org/contract/DoubleIt" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsaws="http://www.w3.org/2005/08/addressing" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" xmlns:sp13="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200802" name="DoubleIt" targetNamespace="http://www.example.org/contract/DoubleIt">
-    <wsdl:import location="src/test/resources/DoubleItLogical.wsdl" namespace="http://www.example.org/contract/DoubleIt"/>
-    <wsdl:binding name="DoubleItKerberosTransportBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosTransportPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosSymmetricBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosSymmetricSupportingBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricSupportingPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosSupportingBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosSupportingPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosAsymmetricBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosAsymmetricPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosTransportEndorsingBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosTransportEndorsingPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosAsymmetricEndorsingBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosAsymmetricEndorsingPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosSymmetricProtectionBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricProtectionPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosSymmetricDerivedProtectionBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricDerivedProtectionPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosAsymmetricSignedEndorsingBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosAsymmetricSignedEndorsingPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosAsymmetricSignedEncryptedBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosAsymmetricSignedEncryptedPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosSymmetricEndorsingEncryptedBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricEndorsingEncryptedPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosSymmetricSignedEndorsingEncryptedBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricSignedEndorsingEncryptedPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:binding name="DoubleItKerberosSymmetricSecureConversationBinding" type="tns:DoubleItPortType">
-        <wsp:PolicyReference URI="#DoubleItKerberosSymmetricSecureConversationPolicy"/>
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="DoubleIt">
-            <soap:operation soapAction=""/>
-            <wsdl:input>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Input_Policy"/>
-            </wsdl:input>
-            <wsdl:output>
-                <soap:body use="literal"/>
-                <wsp:PolicyReference URI="#DoubleItBinding_DoubleIt_Output_Policy"/>
-            </wsdl:output>
-            <wsdl:fault name="DoubleItFault">
-                <soap:body use="literal" name="DoubleItFault"/>
-            </wsdl:fault>
-        </wsdl:operation>
-    </wsdl:binding>
-    <wsdl:service name="DoubleItService">
-        <wsdl:port name="DoubleItKerberosTransportPort" binding="tns:DoubleItKerberosTransportBinding">
-            <soap:address location="https://localhost:9009/DoubleItKerberosTransport"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosTransportPort2" binding="tns:DoubleItKerberosTransportBinding">
-            <soap:address location="https://localhost:9009/DoubleItKerberosTransport2"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosSymmetricPort" binding="tns:DoubleItKerberosSymmetricBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetric"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosSymmetricSupportingPort" binding="tns:DoubleItKerberosSymmetricSupportingBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricSupporting"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosSupportingPort" binding="tns:DoubleItKerberosSupportingBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosSupporting"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosAsymmetricPort" binding="tns:DoubleItKerberosAsymmetricBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosAsymmetric"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosTransportEndorsingPort" binding="tns:DoubleItKerberosTransportEndorsingBinding">
-            <soap:address location="https://localhost:9009/DoubleItKerberosTransportEndorsing"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosAsymmetricEndorsingPort" binding="tns:DoubleItKerberosAsymmetricEndorsingBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosAsymmetricEndorsing"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosSymmetricProtectionPort" binding="tns:DoubleItKerberosSymmetricProtectionBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricProtection"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosSymmetricDerivedProtectionPort" binding="tns:DoubleItKerberosSymmetricDerivedProtectionBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricDerivedProtection"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosAsymmetricSignedEndorsingPort" binding="tns:DoubleItKerberosAsymmetricSignedEndorsingBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosAsymmetricSignedEndorsing"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosAsymmetricSignedEncryptedPort" binding="tns:DoubleItKerberosAsymmetricSignedEncryptedBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosAsymmetricSignedEncrypted"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosSymmetricEndorsingEncryptedPort" binding="tns:DoubleItKerberosSymmetricEndorsingEncryptedBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricEndorsingEncrypted"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosSymmetricSignedEndorsingEncryptedPort" binding="tns:DoubleItKerberosSymmetricSignedEndorsingEncryptedBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricSignedEndorsingEncrypted"/>
-        </wsdl:port>
-        <wsdl:port name="DoubleItKerberosSymmetricSecureConversationPort" 
-                   binding="tns:DoubleItKerberosSymmetricSecureConversationBinding">
-            <soap:address location="http://localhost:9001/DoubleItKerberosSymmetricSecureConversation"/>
-        </wsdl:port>
-    </wsdl:service>
-    <wsp:Policy wsu:Id="DoubleItKerberosTransportPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:TransportBinding>
-                    <wsp:Policy>
-                        <sp:TransportToken>
-                            <wsp:Policy>
-                                <sp:HttpsToken>
-                                    <wsp:Policy/>
-                                </sp:HttpsToken>
-                            </wsp:Policy>
-                        </sp:TransportToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:TransportBinding>
-                <sp:SupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:SupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:SymmetricBinding>
-                    <wsp:Policy>
-                        <sp:ProtectionToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireThumbprintReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:ProtectionToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:SymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-                <sp:SignedSupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:SignedSupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricSupportingPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:SymmetricBinding>
-                    <wsp:Policy>
-                        <sp:ProtectionToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireThumbprintReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:ProtectionToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:SymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-                <sp:SupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:SupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosSupportingPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:SupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:SupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosAsymmetricPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:AsymmetricBinding>
-                    <wsp:Policy>
-                        <sp:InitiatorToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireIssuerSerialReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:InitiatorToken>
-                        <sp:RecipientToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireIssuerSerialReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:RecipientToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:ProtectTokens/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:AsymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-                <sp:SignedSupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:SignedSupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosTransportEndorsingPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:TransportBinding>
-                    <wsp:Policy>
-                        <sp:TransportToken>
-                            <wsp:Policy>
-                                <sp:HttpsToken>
-                                    <wsp:Policy/>
-                                </sp:HttpsToken>
-                            </wsp:Policy>
-                        </sp:TransportToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:TransportBinding>
-                <sp:EndorsingSupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:EndorsingSupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosAsymmetricEndorsingPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:AsymmetricBinding>
-                    <wsp:Policy>
-                        <sp:InitiatorToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireIssuerSerialReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:InitiatorToken>
-                        <sp:RecipientToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireIssuerSerialReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:RecipientToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:AsymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-                <sp:EndorsingSupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:EndorsingSupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricProtectionPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:SymmetricBinding>
-                    <wsp:Policy>
-                        <sp:ProtectionToken>
-                            <wsp:Policy>
-                                <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                                    <wsp:Policy>
-                                        <sp:WssGssKerberosV5ApReqToken11/>
-                                    </wsp:Policy>
-                                </sp:KerberosToken>
-                            </wsp:Policy>
-                        </sp:ProtectionToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:SymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricDerivedProtectionPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:SymmetricBinding>
-                    <wsp:Policy>
-                        <sp:ProtectionToken>
-                            <wsp:Policy>
-                                <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                                    <wsp:Policy>
-                                        <sp:WssGssKerberosV5ApReqToken11/>
-                                        <sp:RequireDerivedKeys/>
-                                    </wsp:Policy>
-                                </sp:KerberosToken>
-                            </wsp:Policy>
-                        </sp:ProtectionToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:SymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosAsymmetricSignedEndorsingPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:AsymmetricBinding>
-                    <wsp:Policy>
-                        <sp:InitiatorToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireIssuerSerialReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:InitiatorToken>
-                        <sp:RecipientToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireIssuerSerialReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:RecipientToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:AsymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-                <sp:SignedEndorsingSupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:SignedEndorsingSupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosAsymmetricSignedEncryptedPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:AsymmetricBinding>
-                    <wsp:Policy>
-                        <sp:InitiatorToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireIssuerSerialReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:InitiatorToken>
-                        <sp:RecipientToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireIssuerSerialReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:RecipientToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:ProtectTokens/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:AsymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-                <sp:SignedEncryptedSupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:SignedEncryptedSupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricEndorsingEncryptedPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:SymmetricBinding>
-                    <wsp:Policy>
-                        <sp:ProtectionToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireThumbprintReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:ProtectionToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:SymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-                <sp:EndorsingEncryptedSupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:EndorsingEncryptedSupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricSignedEndorsingEncryptedPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:SymmetricBinding>
-                    <wsp:Policy>
-                        <sp:ProtectionToken>
-                            <wsp:Policy>
-                                <sp:X509Token sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
-                                    <wsp:Policy>
-                                        <sp:WssX509V3Token10/>
-                                        <sp:RequireThumbprintReference/>
-                                    </wsp:Policy>
-                                </sp:X509Token>
-                            </wsp:Policy>
-                        </sp:ProtectionToken>
-                        <sp:Layout>
-                            <wsp:Policy>
-                                <sp:Lax/>
-                            </wsp:Policy>
-                        </sp:Layout>
-                        <sp:IncludeTimestamp/>
-                        <sp:OnlySignEntireHeadersAndBody/>
-                        <sp:AlgorithmSuite>
-                            <wsp:Policy>
-                                <sp:Basic128/>
-                            </wsp:Policy>
-                        </sp:AlgorithmSuite>
-                    </wsp:Policy>
-                </sp:SymmetricBinding>
-                <sp:Wss11>
-                    <wsp:Policy>
-                        <sp:MustSupportRefIssuerSerial/>
-                        <sp:MustSupportRefThumbprint/>
-                        <sp:MustSupportRefEncryptedKey/>
-                    </wsp:Policy>
-                </sp:Wss11>
-                <sp:SignedEndorsingEncryptedSupportingTokens>
-                    <wsp:Policy>
-                        <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                            <wsp:Policy>
-                                <sp:WssGssKerberosV5ApReqToken11/>
-                            </wsp:Policy>
-                        </sp:KerberosToken>
-                    </wsp:Policy>
-                </sp:SignedEndorsingEncryptedSupportingTokens>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItKerberosSymmetricSecureConversationPolicy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-            <sp:SymmetricBinding>
-               <wsp:Policy>
-                  <sp:ProtectionToken>
-                     <wsp:Policy>
-                        <sp:SecureConversationToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
-                           <wsp:Policy>
-                              <sp:RequireDerivedKeys/>
-                              <sp:BootstrapPolicy>
-                                <wsp:Policy>
-                                 <sp:SymmetricBinding>
-                                   <wsp:Policy>
-                                      <sp:ProtectionToken>
-                                          <wsp:Policy>
-                                             <sp:KerberosToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once">
-                                                <wsp:Policy>
-                                                     <sp:RequireDerivedKeys/>
-                                                     <sp:WssGssKerberosV5ApReqToken11/>
-                                                </wsp:Policy>
-                                             </sp:KerberosToken>
-                                          </wsp:Policy>
-                                       </sp:ProtectionToken>
-                                       <sp:AlgorithmSuite>
-                                          <wsp:Policy>
-                                              <sp:Basic128/>
-                                          </wsp:Policy>
-                                       </sp:AlgorithmSuite>
-                                       <sp:Layout>
-                                          <wsp:Policy>
-                                             <sp:Strict/>
-                                          </wsp:Policy>
-                                       </sp:Layout>
-                                       <sp:IncludeTimestamp/>
-                                       <sp:EncryptSignature/>
-                                       <sp:OnlySignEntireHeadersAndBody/>
-                                    </wsp:Policy>
-                                 </sp:SymmetricBinding>
-                                 <sp:Trust13>
-                                    <wsp:Policy>
-                                       <sp:MustSupportIssuedTokens/>
-                                       <sp:RequireClientEntropy/>
-                                       <sp:RequireServerEntropy/>
-                                    </wsp:Policy>
-                                 </sp:Trust13>
-                                 <sp:Wss11>
-                                     <wsp:Policy>
-                                        <sp:MustSupportRefIssuerSerial/>
-                                        <sp:MustSupportRefThumbprint/>
-                                        <sp:MustSupportRefEncryptedKey/>
-                                     </wsp:Policy>
-                                 </sp:Wss11>
-                             </wsp:Policy>
-                           </sp:BootstrapPolicy>
-                         </wsp:Policy>
-                      </sp:SecureConversationToken>
-                    </wsp:Policy>
-                 </sp:ProtectionToken>
-                 <sp:AlgorithmSuite>
-                    <wsp:Policy>
-                       <sp:Basic128/>
-                    </wsp:Policy>
-                 </sp:AlgorithmSuite>
-                 <sp:Layout>
-                    <wsp:Policy>
-                       <sp:Strict/>
-                    </wsp:Policy>
-                 </sp:Layout>
-                 <sp:IncludeTimestamp/>
-                 <sp:EncryptSignature/>
-                 <sp:OnlySignEntireHeadersAndBody/>
-               </wsp:Policy>
-             </sp:SymmetricBinding>
-             <sp:Trust13>
-                <wsp:Policy>
-                   <sp:MustSupportIssuedTokens/>
-                   <sp:RequireClientEntropy/>
-                   <sp:RequireServerEntropy/>
-                 </wsp:Policy>
-             </sp:Trust13>
-             <sp:Wss11>
-                <wsp:Policy>
-                   <sp:MustSupportRefIssuerSerial/>
-                   <sp:MustSupportRefThumbprint/>
-                   <sp:MustSupportRefEncryptedKey/>
-                 </wsp:Policy>
-             </sp:Wss11>
-           </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    
-    <wsp:Policy wsu:Id="DoubleItBinding_DoubleIt_Input_Policy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:EncryptedParts>
-                    <sp:Body/>
-                </sp:EncryptedParts>
-                <sp:SignedParts>
-                    <sp:Body/>
-                </sp:SignedParts>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-    <wsp:Policy wsu:Id="DoubleItBinding_DoubleIt_Output_Policy">
-        <wsp:ExactlyOne>
-            <wsp:All>
-                <sp:EncryptedParts>
-                    <sp:Body/>
-                </sp:EncryptedParts>
-                <sp:SignedParts>
-                    <sp:Body/>
-                </sp:SignedParts>
-            </wsp:All>
-        </wsp:ExactlyOne>
-    </wsp:Policy>
-</wsdl:definitions>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/client.xml
----------------------------------------------------------------------
diff --git a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/client.xml b/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/client.xml
deleted file mode 100644
index a9c77a8..0000000
--- a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/client.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you 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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:cxf="http://cxf.apache.org/core" xmlns:p="http://cxf.apache.org/policy" xmlns:sec="http://cxf.apache.org/configuration/security" xsi:schemaLocation="           http://www.springframework.org/schema/beans           http://www.springframework.org/schema/beans/spring-beans.xsd           http://cxf.apache.org/jaxws                           http://cxf.apache.org/schemas/jaxws.xsd           http://cxf.apache.org/transports/http/configuration   http://cxf.apache.org/schemas/configuration/http-conf.xsd           http://cxf.apache.org/configuration/security          http://cxf.apache.org/schemas/configuration/security.xsd           http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd           http://cxf.apache.org/policy http://cxf.apache.org/schemas/poli
 cy.xsd">
-    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
-    <cxf:bus>
-        <cxf:features>
-            <p:policies/>
-            <cxf:logging/>
-        </cxf:features>
-    </cxf:bus>
-    <http:conduit name="https://localhost.*">
-        <http:tlsClientParameters disableCNCheck="true">
-            <sec:keyManagers keyPassword="password">
-                <sec:keyStore type="jks" password="password" resource="org/apache/cxf/systest/ws/security/Morpit.jks"/>
-            </sec:keyManagers>
-            <sec:trustManagers>
-                <sec:keyStore type="jks" password="password" resource="org/apache/cxf/systest/ws/security/Truststore.jks"/>
-            </sec:trustManagers>
-        </http:tlsClientParameters>
-    </http:conduit>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosTransportPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosTransportPort2" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.kerberos.jaas.context" value="alice" />
-            <entry key="ws-security.kerberos.spn" value="bob@service.ws.apache.org" />
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricSupportingPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSupportingPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosAsymmetricPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.signature.properties" value="alice.properties"/>
-            <entry key="ws-security.signature.username" value="alice"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosTransportEndorsingPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-            <entry key="ws-security.signature.properties" value="alice.properties"/>
-            <entry key="ws-security.signature.username" value="alice"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosAsymmetricEndorsingPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.signature.properties" value="alice.properties"/>
-            <entry key="ws-security.signature.username" value="alice"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricProtectionPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricDerivedProtectionPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosAsymmetricSignedEndorsingPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.signature.properties" value="alice.properties"/>
-            <entry key="ws-security.signature.username" value="alice"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosAsymmetricSignedEncryptedPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.signature.properties" value="alice.properties"/>
-            <entry key="ws-security.signature.username" value="alice"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricEndorsingEncryptedPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-    <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricSignedEndorsingEncryptedPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-   <jaxws:client name="{http://www.example.org/contract/DoubleIt}DoubleItKerberosSymmetricSecureConversationPort" createdFromAPI="true">
-        <jaxws:properties>
-            <entry key="ws-security.encryption.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.username" value="bob"/>
-            <entry key="ws-security.kerberos.client">
-                <bean class="org.apache.cxf.ws.security.kerberos.KerberosClient">
-                    <constructor-arg ref="cxf"/>
-                    <property name="contextName" value="alice"/>
-                    <property name="serviceName" value="bob@service.ws.apache.org"/>
-                </bean>
-            </entry>
-        </jaxws:properties>
-    </jaxws:client>
-</beans>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/server.xml
----------------------------------------------------------------------
diff --git a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/server.xml b/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/server.xml
deleted file mode 100644
index d74770b..0000000
--- a/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/server.xml
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you 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.
--->
-<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:interop="http://WSSec/wssec10" xmlns:cxf="http://cxf.apache.org/core" xmlns:p="http://cxf.apache.org/policy" xsi:schemaLocation="         http://www.springframework.org/schema/beans                     http://www.springframework.org/schema/beans/spring-beans.xsd         http://cxf.apache.org/jaxws                                     http://cxf.apache.org/schemas/jaxws.xsd         http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd         http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd         http://cxf.apache.org/transports/http/configuration             http://cxf.apache.org/schemas/configuration
 /http-conf.xsd         http://cxf.apache.org/transports/http-jetty/configuration       http://cxf.apache.org/schemas/configuration/http-jetty.xsd         http://cxf.apache.org/configuration/security                    http://cxf.apache.org/schemas/configuration/security.xsd     ">
-    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
-    <cxf:bus>
-        <cxf:features>
-            <p:policies/>
-            <cxf:logging/>
-        </cxf:features>
-    </cxf:bus>
-    <!-- -->
-    <!-- Any services listening on port 9009 must use the following -->
-    <!-- Transport Layer Security (TLS) settings -->
-    <!-- -->
-    <httpj:engine-factory id="tls-settings">
-        <httpj:engine port="${testutil.ports.Server.2}">
-            <httpj:tlsServerParameters>
-                <sec:keyManagers keyPassword="password">
-                    <sec:keyStore type="jks" password="password" resource="org/apache/cxf/systest/ws/security/Bethal.jks"/>
-                </sec:keyManagers>
-                <sec:trustManagers>
-                    <sec:keyStore type="jks" password="password" resource="org/apache/cxf/systest/ws/security/Truststore.jks"/>
-                </sec:trustManagers>
-                <sec:cipherSuitesFilter>
-                    <sec:include>.*_EXPORT_.*</sec:include>
-                    <sec:include>.*_EXPORT1024_.*</sec:include>
-                    <sec:include>.*_WITH_DES_.*</sec:include>
-                    <sec:include>.*_WITH_AES_.*</sec:include>
-                </sec:cipherSuitesFilter>
-                <sec:clientAuthentication want="true" required="true"/>
-            </httpj:tlsServerParameters>
-        </httpj:engine>
-    </httpj:engine-factory>
-    <bean id="kerberosValidator" class="org.apache.wss4j.dom.validate.KerberosTokenValidator">
-        <property name="contextName" value="bob"/>
-        <property name="serviceName" value="bob@service.ws.apache.org"/>
-    </bean>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransport" address="https://localhost:${testutil.ports.Server.2}/DoubleItKerberosTransport" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
-        <jaxws:properties>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransport2" address="https://localhost:${testutil.ports.Server.2}/DoubleItKerberosTransport2" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportPort2" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
-        <jaxws:properties>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetric" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetric" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSupporting" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricSupporting" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSupportingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosSupporting" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSupporting" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSupportingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetric" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosAsymmetric" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.username" value="bob"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.properties" value="alice.properties"/>
-            <entry key="ws-security.encryption.username" value="alice"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransportEndorsing" address="https://localhost:${testutil.ports.Server.2}/DoubleItKerberosTransportEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportEndorsingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
-        <jaxws:properties>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricEndorsing" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosAsymmetricEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricEndorsingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.username" value="bob"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.properties" value="alice.properties"/>
-            <entry key="ws-security.encryption.username" value="alice"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricProtection" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricProtection" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricProtectionPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricDerivedProtection" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricDerivedProtection" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricDerivedProtectionPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricSignedEndorsing" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosAsymmetricSignedEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricSignedEndorsingPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.username" value="bob"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.properties" value="alice.properties"/>
-            <entry key="ws-security.encryption.username" value="alice"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricSignedEncrypted" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosAsymmetricSignedEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricSignedEncryptedPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.username" value="bob"/>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.encryption.properties" value="alice.properties"/>
-            <entry key="ws-security.encryption.username" value="alice"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-            <entry key="ws-security.is-bsp-compliant" value="false"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricEndorsingEncrypted" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricEndorsingEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricEndorsingEncryptedPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSignedEndorsingEncrypted" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricSignedEndorsingEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSignedEndorsingEncryptedPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-    
-    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSecureConversation" address="http://localhost:${testutil.ports.Server}/DoubleItKerberosSymmetricSecureConversation" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSecureConversationPort" implementor="org.apache.cxf.systest.ws.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl">
-        <jaxws:properties>
-            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.ws.common.KeystorePasswordCallback"/>
-            <entry key="ws-security.signature.properties" value="bob.properties"/>
-            <entry key="ws-security.bst.validator" value-ref="kerberosValidator"/>
-        </jaxws:properties>
-    </jaxws:endpoint>
-</beans>


[3/6] cxf git commit: Added a new "kerberos" system module for integration testing using the Apache DS KDC

Posted by co...@apache.org.
http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/stax-server.xml
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/stax-server.xml b/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/stax-server.xml
new file mode 100644
index 0000000..80a5498
--- /dev/null
+++ b/systests/kerberos/src/test/resources/org/apache/cxf/systest/kerberos/wssec/kerberos/stax-server.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:httpj="http://cxf.apache.org/transports/http-jetty/configuration" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:interop="http://WSSec/wssec10" xmlns:cxf="http://cxf.apache.org/core" xmlns:p="http://cxf.apache.org/policy" xsi:schemaLocation="         http://www.springframework.org/schema/beans                     http://www.springframework.org/schema/beans/spring-beans.xsd         http://cxf.apache.org/jaxws                                     http://cxf.apache.org/schemas/jaxws.xsd         http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd         http://cxf.apache.org/policy http://cxf.apache.org/schemas/policy.xsd         http://cxf.apache.org/transports/http/configuration             http://cxf.apache.org/schemas/configuration
 /http-conf.xsd         http://cxf.apache.org/transports/http-jetty/configuration       http://cxf.apache.org/schemas/configuration/http-jetty.xsd         http://cxf.apache.org/configuration/security                    http://cxf.apache.org/schemas/configuration/security.xsd     ">
+    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
+    <cxf:bus>
+        <cxf:features>
+            <p:policies/>
+            <cxf:logging/>
+        </cxf:features>
+    </cxf:bus>
+    <!-- -->
+    <!-- Any services listening on port 9009 must use the following -->
+    <!-- Transport Layer Security (TLS) settings -->
+    <!-- -->
+    <httpj:engine-factory id="tls-settings">
+        <httpj:engine port="${testutil.ports.StaxServer.2}">
+            <httpj:tlsServerParameters>
+                <sec:keyManagers keyPassword="password">
+                    <sec:keyStore type="jks" password="password" resource="Bethal.jks"/>
+                </sec:keyManagers>
+                <sec:trustManagers>
+                    <sec:keyStore type="jks" password="password" resource="Truststore.jks"/>
+                </sec:trustManagers>
+                <sec:cipherSuitesFilter>
+                    <sec:include>.*_EXPORT_.*</sec:include>
+                    <sec:include>.*_EXPORT1024_.*</sec:include>
+                    <sec:include>.*_WITH_DES_.*</sec:include>
+                    <sec:include>.*_WITH_AES_.*</sec:include>
+                </sec:cipherSuitesFilter>
+                <sec:clientAuthentication want="true" required="true"/>
+            </httpj:tlsServerParameters>
+        </httpj:engine>
+    </httpj:engine-factory>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransport" address="https://localhost:${testutil.ports.StaxServer.2}/DoubleItKerberosTransport" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransport2" address="https://localhost:${testutil.ports.StaxServer.2}/DoubleItKerberosTransport2" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportPort2" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetric" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetric" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSupporting" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricSupporting" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSupportingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosSupporting" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSupporting" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSupportingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KeystorePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetric" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosAsymmetric" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.username" value="bob"/>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.properties" value="alice.properties"/>
+            <entry key="ws-security.encryption.username" value="alice"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverTransportEndorsing" address="https://localhost:${testutil.ports.StaxServer.2}/DoubleItKerberosTransportEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosTransportEndorsingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl" depends-on="tls-settings">
+        <jaxws:properties>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricEndorsing" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosAsymmetricEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricEndorsingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.username" value="bob"/>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.properties" value="alice.properties"/>
+            <entry key="ws-security.encryption.username" value="alice"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricProtection" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricProtection" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricProtectionPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricDerivedProtection" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricDerivedProtection" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricDerivedProtectionPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricSignedEndorsing" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosAsymmetricSignedEndorsing" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricSignedEndorsingPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.username" value="bob"/>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.properties" value="alice.properties"/>
+            <entry key="ws-security.encryption.username" value="alice"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverAsymmetricSignedEncrypted" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosAsymmetricSignedEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosAsymmetricSignedEncryptedPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.username" value="bob"/>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.encryption.properties" value="alice.properties"/>
+            <entry key="ws-security.encryption.username" value="alice"/>
+            <entry key="ws-security.is-bsp-compliant" value="false"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricEndorsingEncrypted" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricEndorsingEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricEndorsingEncryptedPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+    <jaxws:endpoint xmlns:s="http://www.example.org/contract/DoubleIt" id="KerberosOverSymmetricSignedEndorsingEncrypted" address="http://localhost:${testutil.ports.StaxServer}/DoubleItKerberosSymmetricSignedEndorsingEncrypted" serviceName="s:DoubleItService" endpointName="s:DoubleItKerberosSymmetricSignedEndorsingEncryptedPort" implementor="org.apache.cxf.systest.kerberos.common.DoubleItPortTypeImpl" wsdlLocation="org/apache/cxf/systest/kerberos/wssec/kerberos/DoubleItKerberos.wsdl">
+        <jaxws:properties>
+            <entry key="ws-security.callback-handler" value="org.apache.cxf.systest.kerberos.common.KerberosServicePasswordCallback"/>
+            <entry key="ws-security.signature.properties" value="bob.properties"/>
+            <entry key="ws-security.enable.streaming" value="true"/>
+        </jaxws:properties>
+    </jaxws:endpoint>
+</beans>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/pom.xml
----------------------------------------------------------------------
diff --git a/systests/pom.xml b/systests/pom.xml
index 47e8e07..3f4726e 100644
--- a/systests/pom.xml
+++ b/systests/pom.xml
@@ -42,6 +42,7 @@
         <module>ws-rm</module>
         <module>ws-security</module>
         <module>ws-security-examples</module>
+        <module>kerberos</module>
         <module>rs-security</module>
         <module>wsdl_maven</module>
         <module>cdi</module>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/KerberosPasswordCallback.java
----------------------------------------------------------------------
diff --git a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/KerberosPasswordCallback.java b/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/KerberosPasswordCallback.java
deleted file mode 100644
index 1d221c6..0000000
--- a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/KerberosPasswordCallback.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.cxf.systest.ws.kerberos;
-
-import java.io.IOException;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-
-import org.apache.wss4j.common.ext.WSPasswordCallback;
-import org.apache.wss4j.common.kerberos.KerberosContextAndServiceNameCallback;
-
-/**
- */
-
-public class KerberosPasswordCallback implements CallbackHandler {
-    
-    public KerberosPasswordCallback() {
-    }
-
-    /**
-     * It attempts to get the password from the private 
-     * alias/passwords map.
-     */
-    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
-        for (int i = 0; i < callbacks.length; i++) {
-            if (callbacks[i] instanceof WSPasswordCallback) {
-                WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
-                if ("alice".equals(pc.getIdentifier())) {
-                    pc.setPassword("password");
-                } else if ("bob".equals(pc.getIdentifier())) {
-                    pc.setPassword("password");
-                } else {
-                    pc.setPassword("abcd!1234");
-                }
-            } else if (callbacks[i] instanceof KerberosContextAndServiceNameCallback) {
-                KerberosContextAndServiceNameCallback pc = 
-                    (KerberosContextAndServiceNameCallback)callbacks[i];
-                pc.setContextName("bob");
-                pc.setServiceName("bob@service.ws.apache.org");
-            }
-        }
-    }
-    
-
-}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/KerberosTokenTest.java
----------------------------------------------------------------------
diff --git a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/KerberosTokenTest.java b/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/KerberosTokenTest.java
deleted file mode 100644
index 1d4c89e..0000000
--- a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/KerberosTokenTest.java
+++ /dev/null
@@ -1,590 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.cxf.systest.ws.kerberos;
-
-import java.net.URL;
-import java.util.Arrays;
-import java.util.Collection;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-
-import org.apache.cxf.Bus;
-import org.apache.cxf.bus.spring.SpringBusFactory;
-import org.apache.cxf.systest.ws.common.SecurityTestUtil;
-import org.apache.cxf.systest.ws.common.TestParam;
-import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
-import org.example.contract.doubleit.DoubleItPortType;
-import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized.Parameters;
-
-/**
- * A set of tests for Kerberos Tokens. The tests are @Ignore'd, as they require a running KDC. To run the
- * tests, set up a KDC of realm "WS.APACHE.ORG", with principal "alice" and service principal 
- * "bob/service.ws.apache.org". Create keytabs for both principals in "/etc/alice.keytab" and
- * "/etc/bob.keytab" (this can all be edited in src/test/resource/kerberos.jaas". Then disable the
- * @Ignore annotations and run the tests with:
- *  
- * mvn test -Pnochecks -Dtest=KerberosTokenTest 
- *     -Djava.security.auth.login.config=src/test/resources/kerberos.jaas
- * 
- * See here for more information:
- * http://coheigea.blogspot.com/2011/10/using-kerberos-with-web-services-part.html
- */
-@org.junit.Ignore
-@RunWith(value = org.junit.runners.Parameterized.class)
-public class KerberosTokenTest extends AbstractBusClientServerTestBase {
-    static final String PORT = allocatePort(Server.class);
-    static final String STAX_PORT = allocatePort(StaxServer.class);
-    static final String PORT2 = allocatePort(Server.class, 2);
-    static final String STAX_PORT2 = allocatePort(StaxServer.class, 2);
-    
-    private static final String NAMESPACE = "http://www.example.org/contract/DoubleIt";
-    private static final QName SERVICE_QNAME = new QName(NAMESPACE, "DoubleItService");
-
-    private static boolean unrestrictedPoliciesInstalled = 
-            SecurityTestUtil.checkUnrestrictedPoliciesInstalled();
-    
-    final TestParam test;
-    
-    public KerberosTokenTest(TestParam type) {
-        this.test = type;
-    }
-    
-    @BeforeClass
-    public static void startServers() throws Exception {
-        assertTrue(
-            "Server failed to launch",
-            // run the server in the same process
-            // set this to false to fork
-            launchServer(Server.class, true)
-        );
-        assertTrue(
-                   "Server failed to launch",
-                   // run the server in the same process
-                   // set this to false to fork
-                   launchServer(StaxServer.class, true)
-        );
-    }
-    
-    @Parameters(name = "{0}")
-    public static Collection<TestParam[]> data() {
-       
-        return Arrays.asList(new TestParam[][] {{new TestParam(PORT, false)},
-                                                {new TestParam(PORT, true)},
-                                                {new TestParam(STAX_PORT, false)},
-                                                {new TestParam(STAX_PORT, true)},
-        });
-    }
-    
-    @org.junit.AfterClass
-    public static void cleanup() throws Exception {
-        SecurityTestUtil.cleanup();
-        stopAllServers();
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverTransport() throws Exception {
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosTransportPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        String portNumber = PORT2;
-        if (STAX_PORT.equals(test.getPort())) {
-            portNumber = STAX_PORT2;
-        }
-        updateAddressPort(kerberosPort, portNumber);
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverTransportDifferentConfiguration() throws Exception {
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosTransportPort2");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        String portNumber = PORT2;
-        if (STAX_PORT.equals(test.getPort())) {
-            portNumber = STAX_PORT2;
-        }
-        updateAddressPort(kerberosPort, portNumber);
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverSymmetric() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosSymmetricPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverSymmetricSupporting() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosSymmetricSupportingPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosSupporting() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosSupportingPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverAsymmetric() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosAsymmetricPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverTransportEndorsing() throws Exception {
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosTransportEndorsingPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        String portNumber = PORT2;
-        if (STAX_PORT.equals(test.getPort())) {
-            portNumber = STAX_PORT2;
-        }
-        updateAddressPort(kerberosPort, portNumber);
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverAsymmetricEndorsing() throws Exception {
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosAsymmetricEndorsingPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        // TODO Streaming support
-        if (!test.isStreaming()) {
-            int result = kerberosPort.doubleIt(25);
-            assertTrue(result == 50);
-        }
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverSymmetricProtection() throws Exception {
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosSymmetricProtectionPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverSymmetricDerivedProtection() throws Exception {
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosSymmetricDerivedProtectionPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-
-        // TODO Streaming support
-        // TODO Kerberos derived regression on streaming inbound
-        if (!STAX_PORT.equals(test.getPort()) && !test.isStreaming()) {
-            kerberosPort.doubleIt(25);
-        }
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverAsymmetricSignedEndorsing() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosAsymmetricSignedEndorsingPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        // TODO Streaming support
-        if (!test.isStreaming()) {
-            int result = kerberosPort.doubleIt(25);
-            assertTrue(result == 50);
-        }
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverAsymmetricSignedEncrypted() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosAsymmetricSignedEncryptedPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        kerberosPort.doubleIt(25);
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverSymmetricEndorsingEncrypted() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosSymmetricEndorsingEncryptedPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-        
-        // TODO Streaming
-        if (!test.isStreaming()) {
-            kerberosPort.doubleIt(25);
-        }
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    @org.junit.Test
-    public void testKerberosOverSymmetricSignedEndorsingEncrypted() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosSymmetricSignedEndorsingEncryptedPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-
-        // TODO Streaming
-        if (!test.isStreaming()) {
-            kerberosPort.doubleIt(25);
-        }
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-    
-    
-    @org.junit.Test
-    public void testKerberosOverSymmetricSecureConversation() throws Exception {
-        
-        if (!unrestrictedPoliciesInstalled) {
-            return;
-        }
-
-        SpringBusFactory bf = new SpringBusFactory();
-        URL busFile = KerberosTokenTest.class.getResource("client.xml");
-
-        Bus bus = bf.createBus(busFile.toString());
-        SpringBusFactory.setDefaultBus(bus);
-        SpringBusFactory.setThreadDefaultBus(bus);
-
-        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
-        Service service = Service.create(wsdl, SERVICE_QNAME);
-        QName portQName = new QName(NAMESPACE, "DoubleItKerberosSymmetricSecureConversationPort");
-        DoubleItPortType kerberosPort = 
-                service.getPort(portQName, DoubleItPortType.class);
-        
-        updateAddressPort(kerberosPort, test.getPort());
-        
-        if (test.isStreaming()) {
-            SecurityTestUtil.enableStreaming(kerberosPort);
-        }
-
-        // TODO Streaming
-        if (!test.isStreaming() && !STAX_PORT.equals(test.getPort())) {
-            kerberosPort.doubleIt(25);
-        }
-        
-        ((java.io.Closeable)kerberosPort).close();
-        bus.shutdown(true);
-    }
-}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/Server.java
----------------------------------------------------------------------
diff --git a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/Server.java b/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/Server.java
deleted file mode 100644
index 8fe9762..0000000
--- a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/Server.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.cxf.systest.ws.kerberos;
-
-import java.net.URL;
-
-import org.apache.cxf.Bus;
-import org.apache.cxf.BusFactory;
-import org.apache.cxf.bus.spring.SpringBusFactory;
-import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
-
-public class Server extends AbstractBusTestServerBase {
-
-    public Server() {
-
-    }
-
-    protected void run()  {
-        URL busFile = Server.class.getResource("server.xml");
-        Bus busLocal = new SpringBusFactory().createBus(busFile);
-        BusFactory.setDefaultBus(busLocal);
-        setBus(busLocal);
-
-        try {
-            new Server();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/StaxServer.java
----------------------------------------------------------------------
diff --git a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/StaxServer.java b/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/StaxServer.java
deleted file mode 100644
index 12ef18b..0000000
--- a/systests/ws-security/src/test/java/org/apache/cxf/systest/ws/kerberos/StaxServer.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you 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.cxf.systest.ws.kerberos;
-
-import java.net.URL;
-
-import org.apache.cxf.Bus;
-import org.apache.cxf.BusFactory;
-import org.apache.cxf.bus.spring.SpringBusFactory;
-import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
-
-public class StaxServer extends AbstractBusTestServerBase {
-
-    public StaxServer() {
-
-    }
-
-    protected void run()  {
-        URL busFile = StaxServer.class.getResource("stax-server.xml");
-        Bus busLocal = new SpringBusFactory().createBus(busFile);
-        BusFactory.setDefaultBus(busLocal);
-        setBus(busLocal);
-
-        try {
-            new StaxServer();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}


[5/6] cxf git commit: Added a new "kerberos" system module for integration testing using the Apache DS KDC

Posted by co...@apache.org.
Added a new "kerberos" system module for integration testing using the Apache DS KDC


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/0d19ce6a
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/0d19ce6a
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/0d19ce6a

Branch: refs/heads/3.0.x-fixes
Commit: 0d19ce6ae178b3baa850483b4243f5bc6f4886b8
Parents: dd56dc9
Author: Colm O hEigeartaigh <co...@apache.org>
Authored: Mon Dec 1 14:38:01 2014 +0000
Committer: Colm O hEigeartaigh <co...@apache.org>
Committed: Mon Dec 1 15:31:32 2014 +0000

----------------------------------------------------------------------
 parent/pom.xml                                  |    1 +
 .../ws/security/wss4j/WSS4JInInterceptor.java   |   18 +-
 systests/kerberos/pom.xml                       |  278 +++++
 .../systest/kerberos/common/DoubleItImpl.java   |   40 +
 .../kerberos/common/DoubleItPortTypeImpl.java   |   50 +
 .../common/KerberosClientPasswordCallback.java  |   48 +
 .../common/KerberosServicePasswordCallback.java |   60 +
 .../common/KeystorePasswordCallback.java        |   72 ++
 .../kerberos/common/SecurityTestUtil.java       |   91 ++
 .../wssec/kerberos/KerberosTokenTest.java       |  419 +++++++
 .../systest/kerberos/wssec/kerberos/Server.java |   47 +
 .../kerberos/wssec/kerberos/StaxServer.java     |   47 +
 systests/kerberos/src/test/resources/Bethal.jks |  Bin 0 -> 1317 bytes
 .../src/test/resources/DoubleItLogical.wsdl     |  142 +++
 systests/kerberos/src/test/resources/Morpit.jks |  Bin 0 -> 1337 bytes
 .../kerberos/src/test/resources/Truststore.jks  |  Bin 0 -> 2942 bytes
 systests/kerberos/src/test/resources/alice.jks  |  Bin 0 -> 2428 bytes
 .../src/test/resources/alice.properties         |   21 +
 systests/kerberos/src/test/resources/bob.jks    |  Bin 0 -> 2422 bytes
 .../kerberos/src/test/resources/bob.properties  |   21 +
 .../kerberos/src/test/resources/kerberos.jaas   |    8 +
 .../kerberos/src/test/resources/kerberos.ldif   |   51 +
 systests/kerberos/src/test/resources/krb5.conf  |    7 +
 .../src/test/resources/logging.properties       |   74 ++
 .../wssec/kerberos/DoubleItKerberos.wsdl        | 1028 ++++++++++++++++++
 .../systest/kerberos/wssec/kerberos/client.xml  |  256 +++++
 .../systest/kerberos/wssec/kerberos/server.xml  |  181 +++
 .../kerberos/wssec/kerberos/stax-server.xml     |  166 +++
 systests/pom.xml                                |    1 +
 .../ws/kerberos/KerberosPasswordCallback.java   |   64 --
 .../systest/ws/kerberos/KerberosTokenTest.java  |  590 ----------
 .../apache/cxf/systest/ws/kerberos/Server.java  |   47 -
 .../cxf/systest/ws/kerberos/StaxServer.java     |   47 -
 .../systest/ws/kerberos/DoubleItKerberos.wsdl   | 1028 ------------------
 .../apache/cxf/systest/ws/kerberos/client.xml   |  237 ----
 .../apache/cxf/systest/ws/kerberos/server.xml   |  174 ---
 .../cxf/systest/ws/kerberos/stax-server.xml     |  164 ---
 37 files changed, 3119 insertions(+), 2359 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 5693e99..f96e801 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -75,6 +75,7 @@
         <cxf.abdera.version>1.1.3</cxf.abdera.version>
         <cxf.activemq.version>5.9.1</cxf.activemq.version>
         <cxf.ahc.version>1.8.5</cxf.ahc.version>
+        <cxf.apacheds.version>2.0.0-M19</cxf.apacheds.version>
         <cxf.atmosphere.version>2.2.0</cxf.atmosphere.version>
         <cxf.atmosphere.version.range>[2.0,3.0)</cxf.atmosphere.version.range>
         <cxf.axiom.version>1.2.14</cxf.axiom.version>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
----------------------------------------------------------------------
diff --git a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
index 98650fb..4fec350 100644
--- a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
+++ b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/wss4j/WSS4JInInterceptor.java
@@ -675,14 +675,16 @@ public class WSS4JInInterceptor extends AbstractWSS4JInterceptor {
         
         public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
             for (int i = 0; i < callbacks.length; i++) {
-                WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
-                
-                String id = pc.getIdentifier();
-                SecurityToken tok = store.getToken(id);
-                if (tok != null && !tok.isExpired()) {
-                    pc.setKey(tok.getSecret());
-                    pc.setCustomToken(tok.getToken());
-                    return;
+                if (callbacks[i] instanceof WSPasswordCallback) {
+                    WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
+                    
+                    String id = pc.getIdentifier();
+                    SecurityToken tok = store.getToken(id);
+                    if (tok != null && !tok.isExpired()) {
+                        pc.setKey(tok.getSecret());
+                        pc.setCustomToken(tok.getToken());
+                        return;
+                    }
                 }
             }
             if (internal != null) {

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/pom.xml
----------------------------------------------------------------------
diff --git a/systests/kerberos/pom.xml b/systests/kerberos/pom.xml
new file mode 100644
index 0000000..2aedb2d
--- /dev/null
+++ b/systests/kerberos/pom.xml
@@ -0,0 +1,278 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <parent>
+        <artifactId>cxf-parent</artifactId>
+        <groupId>org.apache.cxf</groupId>
+        <version>3.1.0-SNAPSHOT</version>
+        <relativePath>../../parent/pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.cxf.systests</groupId>
+    <artifactId>cxf-systests-kerberos</artifactId>
+    <name>Apache CXF Kerberos Integration System Tests</name>
+    <description>Apache CXF Kerberos Integration System Tests</description>
+    <url>http://cxf.apache.org</url>
+    <build>
+        <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
+        <testResources>
+            <testResource>
+                <directory>src/test/java</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </testResource>
+            <testResource>
+                <directory>src/test/resources</directory>
+                <includes>
+                    <include>**/*</include>
+                </includes>
+            </testResource>
+        </testResources>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-codegen-plugin</artifactId>
+                <version>${project.version}</version>
+                <executions>
+                    <execution>
+                        <phase>generate-sources</phase>
+                        <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
+                            <sourceRoot>${basedir}/target/generated-sources</sourceRoot>
+                            <defaultOptions>
+                                <markGenerated>true</markGenerated>
+                                <faultSerialVersionUID>1</faultSerialVersionUID>
+                            </defaultOptions>
+                            <wsdlOptions>
+                                <wsdlOption>
+                                    <wsdl>${basedir}/src/test/resources/DoubleItLogical.wsdl</wsdl>
+                                </wsdlOption>
+                            </wsdlOptions>
+                        </configuration>
+                        <goals>
+                            <goal>wsdl2java</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-jar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>attach-sources</id>
+                        <goals>
+                            <goal>test-jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+    <dependencies>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-jdk14</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-databinding-jaxb</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-frontend-jaxws</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-bindings-soap</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-transports-http</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-transports-http-jetty</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-ws-addr</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-ws-policy</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-ws-security</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-testutils</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>${cxf.asm.groupId}</groupId>
+            <artifactId>${cxf.asm.artifactId}</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.sun.xml.fastinfoset</groupId>
+            <artifactId>FastInfoset</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-core-annotations</artifactId>
+            <version>${cxf.apacheds.version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-core-integ</artifactId>
+            <version>${cxf.apacheds.version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-protocol-shared</artifactId>
+            <version>${cxf.apacheds.version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-protocol-kerberos</artifactId>
+            <version>${cxf.apacheds.version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>net.sf.ehcache</groupId>
+                    <artifactId>ehcache-core</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-interceptor-kerberos</artifactId>
+            <version>${cxf.apacheds.version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>bouncycastle</groupId>
+                    <artifactId>bcprov-jdk15</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.directory.server</groupId>
+            <artifactId>apacheds-kerberos-codec</artifactId>
+            <version>${cxf.apacheds.version}</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>net.sf.ehcache</groupId>
+                    <artifactId>ehcache-core</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.4</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <profiles>
+        <profile>
+            <id>async</id>
+            <dependencies>
+                <dependency>
+                    <groupId>org.apache.cxf</groupId>
+                    <artifactId>cxf-rt-transports-http-hc</artifactId>
+                    <version>${project.version}</version>
+                </dependency>
+            </dependencies>
+        </profile>
+    </profiles>
+</project>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/DoubleItImpl.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/DoubleItImpl.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/DoubleItImpl.java
new file mode 100644
index 0000000..a4dfc2c
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/DoubleItImpl.java
@@ -0,0 +1,40 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.common;
+
+import javax.jws.WebService;
+
+import org.apache.cxf.feature.Features;
+import org.example.contract.doubleit.DoubleItFault;
+import org.example.contract.doubleit.DoubleItPortType;
+
+@WebService(targetNamespace = "http://www.example.org/contract/DoubleIt", 
+            serviceName = "DoubleItService", 
+            endpointInterface = "org.example.contract.doubleit.DoubleItPortType")
+@Features(features = "org.apache.cxf.feature.LoggingFeature")              
+public class DoubleItImpl implements DoubleItPortType {
+    
+    public int doubleIt(int numberToDouble) throws DoubleItFault {
+        if (numberToDouble == 0) {
+            throw new DoubleItFault("0 can't be doubled!");
+        }
+        return numberToDouble * 2;
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/DoubleItPortTypeImpl.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/DoubleItPortTypeImpl.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/DoubleItPortTypeImpl.java
new file mode 100644
index 0000000..ed08796
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/DoubleItPortTypeImpl.java
@@ -0,0 +1,50 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.common;
+
+import java.security.Principal;
+
+import javax.annotation.Resource;
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceContext;
+
+import org.apache.cxf.feature.Features;
+import org.example.contract.doubleit.DoubleItFault;
+import org.example.contract.doubleit.DoubleItPortType;
+import org.junit.Assert;
+
+@WebService(targetNamespace = "http://www.example.org/contract/DoubleIt", 
+            serviceName = "DoubleItService", 
+            endpointInterface = "org.example.contract.doubleit.DoubleItPortType")
+@Features(features = "org.apache.cxf.feature.LoggingFeature")              
+public class DoubleItPortTypeImpl implements DoubleItPortType {
+    
+    @Resource
+    WebServiceContext wsContext;
+
+    public int doubleIt(int numberToDouble) throws DoubleItFault  {
+        Principal pr = wsContext.getUserPrincipal();
+        
+        Assert.assertNotNull("Principal must not be null", pr);
+        Assert.assertNotNull("Principal.getName() must not return null", pr.getName());
+        
+        return numberToDouble * 2;
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KerberosClientPasswordCallback.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KerberosClientPasswordCallback.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KerberosClientPasswordCallback.java
new file mode 100644
index 0000000..754686a
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KerberosClientPasswordCallback.java
@@ -0,0 +1,48 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.common;
+
+import java.io.IOException;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+/**
+ * A CallbackHandler implementation for the kerberos client.
+ */
+public class KerberosClientPasswordCallback implements CallbackHandler {
+    
+    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            if (callbacks[i] instanceof NameCallback) {
+                NameCallback nameCallback = (NameCallback)callbacks[i];
+                nameCallback.setName("alice");
+            } else if (callbacks[i] instanceof PasswordCallback) {
+                PasswordCallback passwordCallback = (PasswordCallback)callbacks[i];
+                passwordCallback.setPassword("alice".toCharArray());
+            }
+        }
+    }
+    
+
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KerberosServicePasswordCallback.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KerberosServicePasswordCallback.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KerberosServicePasswordCallback.java
new file mode 100644
index 0000000..d43d39c
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KerberosServicePasswordCallback.java
@@ -0,0 +1,60 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.common;
+
+import java.io.IOException;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.NameCallback;
+import javax.security.auth.callback.PasswordCallback;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import org.apache.wss4j.common.ext.WSPasswordCallback;
+import org.apache.wss4j.common.kerberos.KerberosContextAndServiceNameCallback;
+
+/**
+ *  A CallbackHandler implementation for the kerberos service.
+ */
+public class KerberosServicePasswordCallback extends KeystorePasswordCallback {
+    
+    public KerberosServicePasswordCallback() {
+    }
+
+    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            if (callbacks[i] instanceof WSPasswordCallback) {
+                super.handle(new Callback[]{callbacks[i]});
+            } else if (callbacks[i] instanceof KerberosContextAndServiceNameCallback) {
+                KerberosContextAndServiceNameCallback pc = 
+                    (KerberosContextAndServiceNameCallback)callbacks[i];
+                pc.setContextName("bob");
+                pc.setServiceName("bob@service.ws.apache.org");
+            } else if (callbacks[i] instanceof NameCallback) {
+                NameCallback nameCallback = (NameCallback)callbacks[i];
+                nameCallback.setName("bob");
+            } else if (callbacks[i] instanceof PasswordCallback) {
+                PasswordCallback passwordCallback = (PasswordCallback)callbacks[i];
+                passwordCallback.setPassword("bob".toCharArray());
+            }
+        }
+    }
+    
+
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KeystorePasswordCallback.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KeystorePasswordCallback.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KeystorePasswordCallback.java
new file mode 100644
index 0000000..0bada6a
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/KeystorePasswordCallback.java
@@ -0,0 +1,72 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.common;
+
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+
+import org.apache.wss4j.common.ext.WSPasswordCallback;
+
+/**
+ * A CallbackHandler implementation for keystores.
+ */
+public class KeystorePasswordCallback implements CallbackHandler {
+    
+    private Map<String, String> passwords = 
+        new HashMap<String, String>();
+    
+    public KeystorePasswordCallback() {
+        passwords.put("Alice", "abcd!1234");
+        passwords.put("alice", "password");
+        passwords.put("Bob", "abcd!1234");
+        passwords.put("bob", "password");
+        passwords.put("abcd", "dcba");
+        passwords.put("6e0e88f36ebb8744d470f62f604d03ea4ebe5094", "password");
+        passwords.put("wss40rev", "security");
+    }
+
+    /**
+     * It attempts to get the password from the private 
+     * alias/passwords map.
+     */
+    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
+        for (int i = 0; i < callbacks.length; i++) {
+            WSPasswordCallback pc = (WSPasswordCallback)callbacks[i];
+            if (pc.getUsage() == WSPasswordCallback.PASSWORD_ENCRYPTOR_PASSWORD) {
+                pc.setPassword("this-is-a-secret");
+            } else {
+                String pass = passwords.get(pc.getIdentifier());
+                if (pass != null) {
+                    pc.setPassword(pass);
+                    return;
+                } else {
+                    pc.setPassword("password");
+                }
+            }
+        }
+    }
+    
+
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/SecurityTestUtil.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/SecurityTestUtil.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/SecurityTestUtil.java
new file mode 100644
index 0000000..d2af280
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/common/SecurityTestUtil.java
@@ -0,0 +1,91 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.common;
+
+import java.io.File;
+
+import javax.crypto.Cipher;
+import javax.crypto.SecretKey;
+import javax.crypto.spec.SecretKeySpec;
+import javax.xml.ws.BindingProvider;
+
+import org.apache.cxf.ws.security.SecurityConstants;
+import org.example.contract.doubleit.DoubleItPortType;
+
+/**
+ * A utility class for security tests
+ */
+public final class SecurityTestUtil {
+    
+    private static final boolean UNRESTRICTED_POLICIES_INSTALLED;
+    static {
+        boolean ok = false;
+        try {
+            byte[] data = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07};
+
+            SecretKey key192 = new SecretKeySpec(
+                new byte[] {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+                            0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
+                            0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17},
+                            "AES");
+            Cipher c = Cipher.getInstance("AES");
+            c.init(Cipher.ENCRYPT_MODE, key192);
+            c.doFinal(data);
+            ok = true;
+        } catch (Exception e) {
+            //
+        }
+        UNRESTRICTED_POLICIES_INSTALLED = ok;
+    }
+    
+    private SecurityTestUtil() {
+        // complete
+    }
+    
+    public static void cleanup() {
+        String tmpDir = System.getProperty("java.io.tmpdir");
+        if (tmpDir != null) {
+            File[] tmpFiles = new File(tmpDir).listFiles();
+            if (tmpFiles != null) {
+                for (File tmpFile : tmpFiles) {
+                    if (tmpFile.exists() && (tmpFile.getName().startsWith("ws-security.nonce.cache")
+                            || tmpFile.getName().startsWith("wss4j-nonce-cache")
+                            || tmpFile.getName().startsWith("ws-security.timestamp.cache")
+                            || tmpFile.getName().startsWith("wss4j-timestamp-cache"))) {
+                        tmpFile.delete();
+                    }
+                }
+            }
+        }
+    }
+    
+    public static boolean checkUnrestrictedPoliciesInstalled() {
+        return UNRESTRICTED_POLICIES_INSTALLED;
+    }
+    
+    public static void enableStreaming(DoubleItPortType port) {
+        ((BindingProvider)port).getRequestContext().put(
+            SecurityConstants.ENABLE_STREAMING_SECURITY, "true"
+        );
+        ((BindingProvider)port).getResponseContext().put(
+            SecurityConstants.ENABLE_STREAMING_SECURITY, "true"
+        );
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/KerberosTokenTest.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/KerberosTokenTest.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/KerberosTokenTest.java
new file mode 100644
index 0000000..f7069d7
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/KerberosTokenTest.java
@@ -0,0 +1,419 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.wssec.kerberos;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.cxf.Bus;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.systest.kerberos.common.SecurityTestUtil;
+import org.apache.cxf.testutil.common.AbstractBusClientServerTestBase;
+import org.apache.cxf.testutil.common.TestUtil;
+import org.apache.directory.server.annotations.CreateKdcServer;
+import org.apache.directory.server.annotations.CreateLdapServer;
+import org.apache.directory.server.annotations.CreateTransport;
+import org.apache.directory.server.core.annotations.ApplyLdifFiles;
+import org.apache.directory.server.core.annotations.CreateDS;
+import org.apache.directory.server.core.annotations.CreateIndex;
+import org.apache.directory.server.core.annotations.CreatePartition;
+import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
+import org.apache.directory.server.core.integ.FrameworkRunner;
+import org.apache.directory.server.core.kerberos.KeyDerivationInterceptor;
+import org.apache.wss4j.dom.WSSConfig;
+import org.example.contract.doubleit.DoubleItPortType;
+import org.junit.BeforeClass;
+import org.junit.runner.RunWith;
+
+/**
+ * A set of tests for Kerberos Tokens that use an Apache DS instance as the KDC.
+ */
+
+@RunWith(FrameworkRunner.class)
+
+//Define the DirectoryService
+@CreateDS(name = "AbstractKerberosTest-class",
+    enableAccessControl = false,
+    allowAnonAccess = false,
+    enableChangeLog = true,
+    partitions = {
+        @CreatePartition(
+            name = "example",
+            suffix = "dc=example,dc=com",
+            indexes = {
+                @CreateIndex(attribute = "objectClass"),
+                @CreateIndex(attribute = "dc"),
+                @CreateIndex(attribute = "ou")
+            }
+        ) },
+    additionalInterceptors = {
+        KeyDerivationInterceptor.class
+        }
+)
+
+@CreateLdapServer(
+    transports = {
+        @CreateTransport(protocol = "LDAP")
+        }
+)
+
+@CreateKdcServer(
+    transports = {
+        // @CreateTransport(protocol = "TCP", address = "127.0.0.1", port=1024)
+        @CreateTransport(protocol = "UDP", address = "127.0.0.1")
+        },
+    primaryRealm = "service.ws.apache.org",
+    kdcPrincipal = "krbtgt/service.ws.apache.org@service.ws.apache.org"
+)
+
+//Inject an file containing entries
+@ApplyLdifFiles("kerberos.ldif")
+
+public class KerberosTokenTest extends AbstractLdapTestUnit {
+    static final String PORT = TestUtil.getPortNumber(Server.class);
+    static final String STAX_PORT = TestUtil.getPortNumber(StaxServer.class);
+    static final String PORT2 = TestUtil.getPortNumber(Server.class, 2);
+    static final String STAX_PORT2 = TestUtil.getPortNumber(StaxServer.class, 2);
+    
+    private static final String NAMESPACE = "http://www.example.org/contract/DoubleIt";
+    private static final QName SERVICE_QNAME = new QName(NAMESPACE, "DoubleItService");
+
+    private static boolean unrestrictedPoliciesInstalled = 
+        SecurityTestUtil.checkUnrestrictedPoliciesInstalled();
+    
+    private static boolean runTests;
+    
+    public KerberosTokenTest() throws Exception {
+        String basedir = System.getProperty("basedir");
+        if (basedir == null) {
+            basedir = new File(".").getCanonicalPath();
+        }
+        
+        // Read in krb5.conf and substitute in the correct port
+        File f = new File(basedir + "/src/test/resources/krb5.conf");
+        
+        FileInputStream inputStream = new FileInputStream(f);
+        String content = IOUtils.toString(inputStream, "UTF-8");
+        inputStream.close();
+        content = content.replaceAll("port", "" + super.getKdcServer().getTransports()[0].getPort());
+        
+        File f2 = new File(basedir + "/target/test-classes/krb5.conf");
+        FileOutputStream outputStream = new FileOutputStream(f2);
+        IOUtils.write(content, outputStream, "UTF-8");
+        outputStream.close();
+        
+        System.setProperty("java.security.krb5.conf", f2.getPath());
+        System.setProperty("sun.security.krb5.debug", "false");
+    }
+    
+    @BeforeClass
+    public static void startServers() throws Exception {
+
+        WSSConfig.init();
+        
+        //
+        // This test fails with the IBM JDK
+        //
+        if (!"IBM Corporation".equals(System.getProperty("java.vendor"))) {
+            runTests = true;
+            String basedir = System.getProperty("basedir");
+            if (basedir == null) {
+                basedir = new File(".").getCanonicalPath();
+            } else {
+                basedir += "/..";
+            }
+
+            System.setProperty("sun.security.krb5.debug", "true");
+            System.setProperty("java.security.auth.login.config", 
+                               basedir + "/kerberos/src/test/resources/kerberos.jaas");
+            
+        }
+        
+        // Launch servers
+        org.junit.Assert.assertTrue(
+            "Server failed to launch",
+            // run the server in the same process
+            // set this to false to fork
+            AbstractBusClientServerTestBase.launchServer(Server.class, true)
+        );
+        
+        org.junit.Assert.assertTrue(
+            "Server failed to launch",
+            // run the server in the same process
+            // set this to false to fork
+            AbstractBusClientServerTestBase.launchServer(StaxServer.class, true)
+        );
+    }
+    
+    @org.junit.AfterClass
+    public static void cleanup() throws Exception {
+        SecurityTestUtil.cleanup();
+        AbstractBusClientServerTestBase.stopAllServers();
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverTransport() throws Exception {
+        if (!runTests) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosTransportPort";
+        runKerberosTest(portName, false, PORT2);
+        runKerberosTest(portName, false, STAX_PORT2);
+        runKerberosTest(portName, true, PORT2);
+        runKerberosTest(portName, true, STAX_PORT2);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverTransportDifferentConfiguration() throws Exception {
+        if (!runTests) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosTransportPort2";
+        runKerberosTest(portName, false, PORT2);
+        runKerberosTest(portName, false, STAX_PORT2);
+        runKerberosTest(portName, true, PORT2);
+        runKerberosTest(portName, true, STAX_PORT2);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverSymmetric() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosSymmetricPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        runKerberosTest(portName, true, PORT);
+        runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverSymmetricSupporting() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosSymmetricSupportingPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        runKerberosTest(portName, true, PORT);
+        runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosSupporting() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosSupportingPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        runKerberosTest(portName, true, PORT);
+        runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverAsymmetric() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosAsymmetricPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        runKerberosTest(portName, true, PORT);
+        runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverTransportEndorsing() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosTransportEndorsingPort";
+        runKerberosTest(portName, false, PORT2);
+        runKerberosTest(portName, false, STAX_PORT2);
+        runKerberosTest(portName, true, PORT2);
+        runKerberosTest(portName, true, STAX_PORT2);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverAsymmetricEndorsing() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosAsymmetricEndorsingPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        // TODO Streaming support
+        // runKerberosTest(portName, true, PORT);
+        // runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverSymmetricProtection() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosSymmetricProtectionPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        runKerberosTest(portName, true, PORT);
+        runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverSymmetricDerivedProtection() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosSymmetricDerivedProtectionPort";
+        runKerberosTest(portName, false, PORT);
+        // TODO Streaming support
+        // TODO Kerberos derived regression on streaming inbound
+        //runKerberosTest(portName, false, STAX_PORT);
+        //runKerberosTest(portName, true, PORT);
+        //runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverAsymmetricSignedEndorsing() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosAsymmetricSignedEndorsingPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        // TODO Streaming support
+        // runKerberosTest(portName, true, PORT);
+        // runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverAsymmetricSignedEncrypted() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosAsymmetricSignedEncryptedPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        runKerberosTest(portName, true, PORT);
+        runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverSymmetricEndorsingEncrypted() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosSymmetricEndorsingEncryptedPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        // TODO Streaming support
+        // runKerberosTest(portName, true, PORT);
+        // runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverSymmetricSignedEndorsingEncrypted() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosSymmetricSignedEndorsingEncryptedPort";
+        runKerberosTest(portName, false, PORT);
+        runKerberosTest(portName, false, STAX_PORT);
+        // TODO Streaming support
+        // runKerberosTest(portName, true, PORT);
+        // runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    @org.junit.Test
+    public void testKerberosOverSymmetricSecureConversation() throws Exception {
+        
+        if (!runTests || !unrestrictedPoliciesInstalled) {
+            return;
+        }
+        
+        String portName = "DoubleItKerberosSymmetricSecureConversationPort";
+        runKerberosTest(portName, false, PORT);
+        // TODO Streaming support
+        // runKerberosTest(portName, false, STAX_PORT);
+        // runKerberosTest(portName, true, PORT);
+        // runKerberosTest(portName, true, STAX_PORT);
+    }
+    
+    private void runKerberosTest(String portName, boolean streaming, String portNumber) throws Exception {
+
+        SpringBusFactory bf = new SpringBusFactory();
+        URL busFile = KerberosTokenTest.class.getResource("client.xml");
+
+        Bus bus = bf.createBus(busFile.toString());
+        SpringBusFactory.setDefaultBus(bus);
+        SpringBusFactory.setThreadDefaultBus(bus);
+
+        URL wsdl = KerberosTokenTest.class.getResource("DoubleItKerberos.wsdl");
+        Service service = Service.create(wsdl, SERVICE_QNAME);
+        QName portQName = new QName(NAMESPACE, portName);
+        DoubleItPortType kerberosPort = 
+                service.getPort(portQName, DoubleItPortType.class);
+        
+        TestUtil.updateAddressPort(kerberosPort, portNumber);
+        
+        if (streaming) {
+            SecurityTestUtil.enableStreaming(kerberosPort);
+        }
+        
+        kerberosPort.doubleIt(25);
+        
+        ((java.io.Closeable)kerberosPort).close();
+        bus.shutdown(true);
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/Server.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/Server.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/Server.java
new file mode 100644
index 0000000..8e5c6c2
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/Server.java
@@ -0,0 +1,47 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.wssec.kerberos;
+
+import java.net.URL;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
+
+public class Server extends AbstractBusTestServerBase {
+
+    public Server() {
+
+    }
+
+    protected void run()  {
+        URL busFile = Server.class.getResource("server.xml");
+        Bus busLocal = new SpringBusFactory().createBus(busFile);
+        BusFactory.setDefaultBus(busLocal);
+        setBus(busLocal);
+
+        try {
+            new Server();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/StaxServer.java
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/StaxServer.java b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/StaxServer.java
new file mode 100644
index 0000000..7877dc4
--- /dev/null
+++ b/systests/kerberos/src/test/java/org/apache/cxf/systest/kerberos/wssec/kerberos/StaxServer.java
@@ -0,0 +1,47 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you 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.cxf.systest.kerberos.wssec.kerberos;
+
+import java.net.URL;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.BusFactory;
+import org.apache.cxf.bus.spring.SpringBusFactory;
+import org.apache.cxf.testutil.common.AbstractBusTestServerBase;
+
+public class StaxServer extends AbstractBusTestServerBase {
+
+    public StaxServer() {
+
+    }
+
+    protected void run()  {
+        URL busFile = StaxServer.class.getResource("stax-server.xml");
+        Bus busLocal = new SpringBusFactory().createBus(busFile);
+        BusFactory.setDefaultBus(busLocal);
+        setBus(busLocal);
+
+        try {
+            new StaxServer();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/Bethal.jks
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/Bethal.jks b/systests/kerberos/src/test/resources/Bethal.jks
new file mode 100644
index 0000000..2bf1a9a
Binary files /dev/null and b/systests/kerberos/src/test/resources/Bethal.jks differ

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/DoubleItLogical.wsdl
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/DoubleItLogical.wsdl b/systests/kerberos/src/test/resources/DoubleItLogical.wsdl
new file mode 100644
index 0000000..768ac76
--- /dev/null
+++ b/systests/kerberos/src/test/resources/DoubleItLogical.wsdl
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you 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.
+-->
+<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:di="http://www.example.org/schema/DoubleIt" xmlns:tns="http://www.example.org/contract/DoubleIt" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" xmlns:t="http://docs.oasis-open.org/ws-sx/ws-trust/200512" xmlns:wsaw="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" name="DoubleIt" targetNamespace="http://www.example.org/contract/DoubleIt">
+    <!-- Replaced for wsp: http://schemas.xmlsoap.org/ws/2004/09/policy -->
+    <wsdl:types>
+        <xsd:schema targetNamespace="http://www.example.org/schema/DoubleIt">
+            <xsd:element name="DoubleIt">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="numberToDouble" type="xsd:int"/>
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="DoubleIt2">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="numberToDouble" type="xsd:int"/>
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="DoubleIt3">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="numberToDouble" type="xsd:int"/>
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="DoubleIt4">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="numberToDouble" type="xsd:int"/>
+                        <xsd:element name="ImageData" type="xsd:base64Binary"
+                            xmime:expectedContentTypes="application/octet-stream"/>
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="DoubleItResponse">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="doubledNumber" type="xsd:int"/>
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+            <xsd:element name="DoubleItHeader" type="xsd:int"/>
+            <xsd:element name="DoubleItFault">
+                <xsd:complexType>
+                    <xsd:sequence>
+                        <xsd:element name="minor" type="xsd:short"/>
+                        <xsd:element name="major" type="xsd:short"/>
+                    </xsd:sequence>
+                </xsd:complexType>
+            </xsd:element>
+        </xsd:schema>
+    </wsdl:types>
+    <wsdl:message name="DoubleItRequest">
+        <wsdl:part element="di:DoubleIt" name="parameters"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleIt2Request">
+        <wsdl:part element="di:DoubleIt2" name="parameters"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleIt3Request">
+        <wsdl:part element="di:DoubleIt3" name="parameters"/>
+        <wsdl:part name="attachment" type="xsd:base64Binary"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleIt4Request">
+        <wsdl:part element="di:DoubleIt4" name="parameters"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleItRequestHeader">
+        <wsdl:part element="di:DoubleIt" name="parameters"/>
+        <wsdl:part element="di:DoubleItHeader" name="header"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleItResponse">
+        <wsdl:part element="di:DoubleItResponse" name="parameters"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleIt2Response">
+        <wsdl:part element="di:DoubleItResponse" name="parameters"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleIt3Response">
+        <wsdl:part element="di:DoubleItResponse" name="parameters"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleIt4Response">
+        <wsdl:part element="di:DoubleItResponse" name="parameters"/>
+    </wsdl:message>
+    <wsdl:message name="DoubleItFault">
+        <wsdl:part element="di:DoubleItFault" name="DoubleItFault"/>
+    </wsdl:message>
+    <wsdl:portType name="DoubleItPortType">
+        <wsdl:operation name="DoubleIt">
+            <wsdl:input message="tns:DoubleItRequest"/>
+            <wsdl:output message="tns:DoubleItResponse"/>
+            <wsdl:fault message="tns:DoubleItFault" name="DoubleItFault"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:portType name="DoubleItPortTypeHeader">
+        <wsdl:operation name="DoubleIt">
+            <wsdl:input message="tns:DoubleItRequestHeader"/>
+            <wsdl:output message="tns:DoubleItResponse"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:portType name="DoubleItPortType2">
+        <wsdl:operation name="DoubleIt">
+            <wsdl:input message="tns:DoubleItRequest"/>
+            <wsdl:output message="tns:DoubleItResponse"/>
+            <wsdl:fault message="tns:DoubleItFault" name="DoubleItFault"/>
+        </wsdl:operation>
+        <wsdl:operation name="DoubleIt2">
+            <wsdl:input message="tns:DoubleIt2Request"/>
+            <wsdl:output message="tns:DoubleIt2Response"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:portType name="DoubleItSwaPortType">
+        <wsdl:operation name="DoubleIt3">
+            <wsdl:input message="tns:DoubleIt3Request"/>
+            <wsdl:output message="tns:DoubleIt3Response"/>
+            <wsdl:fault message="tns:DoubleItFault" name="DoubleItFault"/>
+        </wsdl:operation>
+    </wsdl:portType>
+    <wsdl:portType name="DoubleItMtomPortType">
+        <wsdl:operation name="DoubleIt4">
+            <wsdl:input message="tns:DoubleIt4Request"/>
+            <wsdl:output message="tns:DoubleIt4Response"/>
+            <wsdl:fault message="tns:DoubleItFault" name="DoubleItFault"/>
+        </wsdl:operation>
+    </wsdl:portType>
+</wsdl:definitions>

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/Morpit.jks
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/Morpit.jks b/systests/kerberos/src/test/resources/Morpit.jks
new file mode 100644
index 0000000..95626a7
Binary files /dev/null and b/systests/kerberos/src/test/resources/Morpit.jks differ

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/Truststore.jks
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/Truststore.jks b/systests/kerberos/src/test/resources/Truststore.jks
new file mode 100644
index 0000000..e76a076
Binary files /dev/null and b/systests/kerberos/src/test/resources/Truststore.jks differ

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/alice.jks
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/alice.jks b/systests/kerberos/src/test/resources/alice.jks
new file mode 100644
index 0000000..9f47a5c
Binary files /dev/null and b/systests/kerberos/src/test/resources/alice.jks differ

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/alice.properties
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/alice.properties b/systests/kerberos/src/test/resources/alice.properties
new file mode 100644
index 0000000..887d848
--- /dev/null
+++ b/systests/kerberos/src/test/resources/alice.properties
@@ -0,0 +1,21 @@
+#    Licensed to the Apache Software Foundation (ASF) under one
+#    or more contributor license agreements. See the NOTICE file
+#    distributed with this work for additional information
+#    regarding copyright ownership. The ASF licenses this file
+#    to you 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.
+org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
+org.apache.ws.security.crypto.merlin.keystore.type=jks
+org.apache.ws.security.crypto.merlin.keystore.password=password
+org.apache.ws.security.crypto.merlin.keystore.alias=alice
+org.apache.ws.security.crypto.merlin.keystore.file=alice.jks

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/bob.jks
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/bob.jks b/systests/kerberos/src/test/resources/bob.jks
new file mode 100644
index 0000000..26df583
Binary files /dev/null and b/systests/kerberos/src/test/resources/bob.jks differ

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/bob.properties
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/bob.properties b/systests/kerberos/src/test/resources/bob.properties
new file mode 100644
index 0000000..50a99ab
--- /dev/null
+++ b/systests/kerberos/src/test/resources/bob.properties
@@ -0,0 +1,21 @@
+#    Licensed to the Apache Software Foundation (ASF) under one
+#    or more contributor license agreements. See the NOTICE file
+#    distributed with this work for additional information
+#    regarding copyright ownership. The ASF licenses this file
+#    to you 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.
+org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
+org.apache.ws.security.crypto.merlin.keystore.type=jks
+org.apache.ws.security.crypto.merlin.keystore.password=password
+org.apache.ws.security.crypto.merlin.keystore.alias=bob
+org.apache.ws.security.crypto.merlin.keystore.file=bob.jks

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/kerberos.jaas
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/kerberos.jaas b/systests/kerberos/src/test/resources/kerberos.jaas
new file mode 100644
index 0000000..cd5b316
--- /dev/null
+++ b/systests/kerberos/src/test/resources/kerberos.jaas
@@ -0,0 +1,8 @@
+
+alice {
+    com.sun.security.auth.module.Krb5LoginModule required refreshKrb5Config=true useKeyTab=false principal="alice";
+};
+
+bob {
+    com.sun.security.auth.module.Krb5LoginModule required refreshKrb5Config=true useKeyTab=false storeKey=true principal="bob/service.ws.apache.org";
+};

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/kerberos.ldif
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/kerberos.ldif b/systests/kerberos/src/test/resources/kerberos.ldif
new file mode 100644
index 0000000..40f07fd
--- /dev/null
+++ b/systests/kerberos/src/test/resources/kerberos.ldif
@@ -0,0 +1,51 @@
+dn: dc=example,dc=com
+dc: example
+objectClass: top
+objectClass: domain
+
+dn: ou=users,dc=example,dc=com
+objectClass: organizationalUnit
+objectClass: top
+ou: users
+
+# Web server identity/service principal.
+dn: uid=bob,ou=users,dc=example,dc=com
+objectclass: top
+objectclass: person
+objectclass: inetOrgPerson
+objectclass: krb5Principal
+objectclass: krb5KDCEntry
+cn: bob
+sn: bob
+uid: bob
+userpassword: bob
+krb5PrincipalName: bob/service.ws.apache.org@service.ws.apache.org
+krb5KeyVersionNumber: 0
+
+# User / client principal.
+dn: uid=alice,ou=users,dc=example,dc=com
+objectclass: top
+objectclass: person
+objectclass: inetOrgPerson
+objectclass: krb5Principal
+objectclass: krb5KDCEntry
+cn: alice
+sn: alice
+uid: alice
+userpassword: alice
+krb5PrincipalName: alice@service.ws.apache.org
+krb5KeyVersionNumber: 0
+
+# Ticket Granting Service.
+dn: uid=krbtgt,ou=users,dc=example,dc=com
+objectclass: top
+objectclass: person
+objectclass: inetOrgPerson
+objectclass: krb5Principal
+objectclass: krb5KDCEntry
+cn: KDC Service
+sn: KDC Service
+uid: krbtgt
+userpassword: randomKey
+krb5PrincipalName: krbtgt/service.ws.apache.org@service.ws.apache.org
+krb5KeyVersionNumber: 0
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/krb5.conf
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/krb5.conf b/systests/kerberos/src/test/resources/krb5.conf
new file mode 100644
index 0000000..a1a6dc9
--- /dev/null
+++ b/systests/kerberos/src/test/resources/krb5.conf
@@ -0,0 +1,7 @@
+[libdefaults]
+	default_realm = service.ws.apache.org
+
+[realms]
+	service.ws.apache.org = {
+		kdc = localhost:port
+	}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cxf/blob/0d19ce6a/systests/kerberos/src/test/resources/logging.properties
----------------------------------------------------------------------
diff --git a/systests/kerberos/src/test/resources/logging.properties b/systests/kerberos/src/test/resources/logging.properties
new file mode 100644
index 0000000..0cf4a85
--- /dev/null
+++ b/systests/kerberos/src/test/resources/logging.properties
@@ -0,0 +1,74 @@
+#
+#
+#    Licensed to the Apache Software Foundation (ASF) under one
+#    or more contributor license agreements. See the NOTICE file
+#    distributed with this work for additional information
+#    regarding copyright ownership. The ASF licenses this file
+#    to you 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.
+#
+#
+############################################################
+#  	Default Logging Configuration File
+#
+# You can use a different file by specifying a filename
+# with the java.util.logging.config.file system property.  
+# For example java -Djava.util.logging.config.file=myfile
+############################################################
+
+############################################################
+#  	Global properties
+############################################################
+
+# "handlers" specifies a comma separated list of log Handler 
+# classes.  These handlers will be installed during VM startup.
+# Note that these classes must be on the system classpath.
+# By default we only configure a ConsoleHandler, which will only
+# show messages at the INFO and above levels.
+# handlers= java.util.logging.ConsoleHandler
+
+# To also add the FileHandler, use the following line instead.
+#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
+
+# Default global logging level.
+# This specifies which kinds of events are logged across
+# all loggers.  For any given facility this global level
+# can be overriden by a facility specific level
+# Note that the ConsoleHandler also has a separate level
+# setting to limit messages printed to the console.
+.level= INFO
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+# default file output is in user's home directory.
+java.util.logging.FileHandler.pattern = %h/java%u.log
+java.util.logging.FileHandler.limit = 50000
+java.util.logging.FileHandler.count = 1
+java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
+
+# Limit the message that are printed on the console to INFO and above.
+java.util.logging.ConsoleHandler.level = INFO
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+# For example, set the com.xyz.foo logger to only log SEVERE
+# messages:
+#com.xyz.foo.level = SEVERE