[CXF-5748] - Improve WS-Security Kerberos configuration

Conflicts:
        
systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/DoubleItKerberos.wsdl
        
systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/client.xml
        
systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/server.xml
        
systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/stax-server.xml


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

Branch: refs/heads/2.7.x-fixes
Commit: 5c08654ff6734b09b15b33db297bdcf1b69b3f6f
Parents: 46d84ce
Author: Colm O hEigeartaigh <[email protected]>
Authored: Mon May 19 12:47:43 2014 +0100
Committer: Colm O hEigeartaigh <[email protected]>
Committed: Mon May 19 12:48:50 2014 +0100

----------------------------------------------------------------------
 .../cxf/ws/security/SecurityConstants.java      |   4 +-
 .../cxf/ws/security/kerberos/KerberosUtils.java |  30 +++
 .../systest/ws/kerberos/KerberosTokenTest.java  |  31 +++
 .../systest/ws/kerberos/DoubleItKerberos.wsdl   |   8 +
 .../apache/cxf/systest/ws/kerberos/client.xml   | 224 +++++++++++++++++++
 .../apache/cxf/systest/ws/kerberos/server.xml   | 168 ++++++++++++++
 .../cxf/systest/ws/kerberos/stax-server.xml     | 166 ++++++++++++++
 7 files changed, 629 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/5c08654f/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
----------------------------------------------------------------------
diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
index d2a91ff..e015474 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/SecurityConstants.java
@@ -249,12 +249,12 @@ public final class SecurityConstants {
     public static final String SPNEGO_CLIENT_ACTION = 
"ws-security.spnego.client.action";
     
     /**
-     * The JAAS Context name to use for Kerberos. This is currently only 
supported for SPNEGO.
+     * The JAAS Context name to use for Kerberos.
      */
     public static final String KERBEROS_JAAS_CONTEXT_NAME = 
"ws-security.kerberos.jaas.context";
     
     /**
-     * The Kerberos Service Provider Name (spn) to use. This is currently only 
supported for SPNEGO.
+     * The Kerberos Service Provider Name (spn) to use.
      */
     public static final String KERBEROS_SPN = "ws-security.kerberos.spn";
     

http://git-wip-us.apache.org/repos/asf/cxf/blob/5c08654f/rt/ws/security/src/main/java/org/apache/cxf/ws/security/kerberos/KerberosUtils.java
----------------------------------------------------------------------
diff --git 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/kerberos/KerberosUtils.java
 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/kerberos/KerberosUtils.java
index cbd253a..63a7287 100644
--- 
a/rt/ws/security/src/main/java/org/apache/cxf/ws/security/kerberos/KerberosUtils.java
+++ 
b/rt/ws/security/src/main/java/org/apache/cxf/ws/security/kerberos/KerberosUtils.java
@@ -19,6 +19,9 @@
 
 package org.apache.cxf.ws.security.kerberos;
 
+import javax.security.auth.callback.CallbackHandler;
+
+import org.apache.cxf.common.classloader.ClassLoaderUtils;
 import org.apache.cxf.message.Message;
 import org.apache.cxf.ws.security.SecurityConstants;
 
@@ -36,8 +39,35 @@ public final class KerberosUtils {
             .getContextualProperty(SecurityConstants.KERBEROS_CLIENT);
         if (client == null) {
             client = new KerberosClient();
+            
+            String jaasContext = 
+                
(String)message.getContextualProperty(SecurityConstants.KERBEROS_JAAS_CONTEXT_NAME);
+            String kerberosSpn = 
+                
(String)message.getContextualProperty(SecurityConstants.KERBEROS_SPN);
+            CallbackHandler callbackHandler = 
+                getCallbackHandler(
+                    
message.getContextualProperty(SecurityConstants.CALLBACK_HANDLER)
+                );
+            client.setContextName(jaasContext);
+            client.setServiceName(kerberosSpn);
+            client.setCallbackHandler(callbackHandler);
         }
         return client;
     }
     
+    private static CallbackHandler getCallbackHandler(Object o) {
+        CallbackHandler handler = null;
+        if (o instanceof CallbackHandler) {
+            handler = (CallbackHandler)o;
+        } else if (o instanceof String) {
+            try {
+                handler = 
(CallbackHandler)ClassLoaderUtils.loadClass((String)o, 
+                                                                      
KerberosUtils.class).newInstance();
+            } catch (Exception e) {
+                handler = null;
+            }
+        }
+        return handler;
+    }
+    
 }

http://git-wip-us.apache.org/repos/asf/cxf/blob/5c08654f/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
index cf336ad..4181dd7 100644
--- 
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
@@ -97,6 +97,37 @@ public class KerberosTokenTest extends 
AbstractBusClientServerTestBase {
     }
     
     @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) {

http://git-wip-us.apache.org/repos/asf/cxf/blob/5c08654f/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
index 359c188..c3f85d7 100644
--- 
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
@@ -292,9 +292,17 @@
         <wsdl:port name="DoubleItKerberosTransportPort" 
binding="tns:DoubleItKerberosTransportBinding">
             <soap:address 
location="https://localhost:9009/DoubleItKerberosTransport"; />
         </wsdl:port>
+<<<<<<< HEAD
         <wsdl:port name="DoubleItKerberosSymmetricPort" 
                    binding="tns:DoubleItKerberosSymmetricBinding">
             <soap:address 
location="http://localhost:9001/DoubleItKerberosSymmetric"; />
+=======
+        <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"/>
+>>>>>>> 10969ab... [CXF-5748] - Improve WS-Security Kerberos configuration
         </wsdl:port>
         <wsdl:port name="DoubleItKerberosSymmetricSupportingPort" 
                    binding="tns:DoubleItKerberosSymmetricSupportingBinding">

http://git-wip-us.apache.org/repos/asf/cxf/blob/5c08654f/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
new file mode 100644
index 0000000..8d276c3
--- /dev/null
+++ 
b/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/client.xml
@@ -0,0 +1,224 @@
+<?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="[email protected]"/>
+                </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="[email protected]" />
+        </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </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="[email protected]"/>
+                </bean>
+            </entry>
+        </jaxws:properties>
+    </jaxws:client>
+</beans>

http://git-wip-us.apache.org/repos/asf/cxf/blob/5c08654f/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
new file mode 100644
index 0000000..7f3c5a0
--- /dev/null
+++ 
b/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/kerberos/server.xml
@@ -0,0 +1,168 @@
+<?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:include>.*_WITH_NULL_.*</sec:include>
+                    <sec:exclude>.*_DH_anon_.*</sec:exclude>
+                </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="[email protected]"/>
+    </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>
+</beans>

http://git-wip-us.apache.org/repos/asf/cxf/blob/5c08654f/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
new file mode 100644
index 0000000..8e33118
--- /dev/null
+++ 
b/systests/ws-security/src/test/resources/org/apache/cxf/systest/ws/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="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:include>.*_WITH_NULL_.*</sec:include>
+                    <sec:exclude>.*_DH_anon_.*</sec:exclude>
+                </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>

Reply via email to