Hi Gina,

> How does WSC knows which entry to pick up when to call STS vs WSP?

Take a look at the following configuration for an example of this:

http://svn.apache.org/viewvc/cxf/trunk/services/sts/systests/basic/src/test/resources/org/apache/cxf/systest/sts/asymmetric/cxf-client.xml?view=markup

<jaxws:client 
name="{http://www.example.org/contract/DoubleIt}DoubleItAsymmetricSAML1Port";
createdFromAPI="true">
<jaxws:properties>
   ...
    <entry key="ws-security.encryption.properties"
value="clientKeystore.properties"/>
    <entry key="ws-security.encryption.username" value="myservicekey"/>
    <entry key="ws-security.sts.client">
        <bean class="org.apache.cxf.ws.security.trust.STSClient">
            ...
            <property name="properties">
                <map>
                    <entry key="ws-security.encryption.properties"
value="clientKeystore.properties"/>
                    <entry key="ws-security.encryption.username"
value="mystskey"/>
                     ...


Here you can see that the client is configuring "myservicekey" as the
keystore alias for the WSP, and "mystskey" for the STSClient.

Colm.

On Thu, May 24, 2012 at 9:48 PM, Gina Choi <[email protected]> wrote:
> Hi Glen,
>
> Did you mean something like following? But following two entries almost
> identical. How does WSC knows which entry to pick up when to call STS vs
> WSP? I try to change your
> http://www.jroller.com/gmazza/entry/cxf_sts_tutorial from X.509
> authentication between WSC and STS to UT authentication. First I need to
> verify if Apache CXF support UT authentication with Symmetric bindings.
>
>
>   <jaxws:client name="{
> http://www.example.org/contract/DoubleIt}DoubleItPort";
> createdFromAPI="true">
>       <jaxws:properties>
>           <entry key="ws-security.sts.client">
>               <bean class="org.apache.cxf.ws.security.trust.STSClient">
>                   <constructor-arg ref="cxf"/>
>                   <property name="wsdlLocation"
> value="DoubleItSTSService.wsdl"/>
>                   <property name="serviceName" value="{
> http://docs.oasis-open.org/ws-sx/ws-trust/200512/}DoubleItSTSService"/>
>                   <property name="endpointName" value="{
> http://docs.oasis-open.org/ws-sx/ws-trust/200512/}DoubleItSTSPort"/>
>                   <property name="properties">
>                       <map>
>                           <!--entry key="ws-security.signature.username"
> value="myclientkey"/-->
>                            <entry key="ws-security.callback-handler"
> value="client.ClientCallbackHandler"/>
>       <entry key="ws-security.username" value="alice"/>
>       <entry key="ws-security.signature.properties"
> value="clientKeystore.properties"/>
>       <entry key="ws-security.encryption.properties"
> value="clientKeystore.properties"/>
>       <entry key="ws-security.encryption.username" value="myservicekey"/>
>                       </map>
>                   </property>
>               </bean>
>           </entry>
>           <entry key="ws-security.sts.client">
>    <bean
> class="org.apache.cxf.ws.security.trust.STSClient">
>     <constructor-arg ref="cxf"/>
>     <property name="wsdlLocation"
> value="DoubleItSTSService.wsdl"/>
>     <property name="serviceName" value="{
> http://docs.oasis-open.org/ws-sx/ws-trust/200512/}DoubleItSTSService"/>
>
>     <property name="endpointName" value="{
> http://docs.oasis-open.org/ws-sx/ws-trust/200512/}DoubleItSTSPort"/>
>
>     <property name="properties">
>      <map>
>       <entry key="ws-security.signature.username"
> value="myclientkey"/>
>       <entry key="ws-security.callback-handler"
> value="client.ClientCallbackHandler"/>
>       <entry key="ws-security.signature.properties"
> value="clientKeystore.properties"/>
>       <entry key="ws-security.encryption.properties"
> value="clientKeystore.properties"/>
>       <entry key="ws-security.encryption.username"
> value="mystskey"/>
>      </map>
>     </property>
>    </bean>
>   </entry>
>       </jaxws:properties>
>   </jaxws:client>
>
> On Thu, May 24, 2012 at 4:08 PM, Glen Mazza <[email protected]> wrote:
>
>> Unsure, but I believe you'll want two <entry> elements in your cxf.xml,
>> one as you have below except without the mystskey config element you have
>> there, and then a second <entry> like this: https://github.com/Talend/**
>> tesb-rt-se/blob/**83011aebc68c67cb177ff7e800afbe**
>> 9bbcab7049/examples/cxf/jaxws-**cxf-sts/client/src/main/**
>> resources/cxf.xml<https://github.com/Talend/tesb-rt-se/blob/83011aebc68c67cb177ff7e800afbe9bbcab7049/examples/cxf/jaxws-cxf-sts/client/src/main/resources/cxf.xml>for
>>  the sts configuration.  They should both go under the same jaxws:client
>> element, and probably under the same jaxws:properties element as well.
>>
>> HTH,
>> Glen
>>
>>
>> On 05/24/2012 12:16 PM, Gina Choi wrote:
>>
>>> Hi All,
>>>
>>> I have WSP, WSC and STS(Apache CXF). I am going to use Symmetric bindings
>>> between them. So, I added certificate both WSP and STS in client
>>> truststore, but I need to configure them in the client config file.
>>>
>>> Following is part of cxf.xml file. But as you can see, I am using
>>> ws-security.encryption.**username twice for sts and service certificate
>>> and
>>> this is not right. How does program tell which one is which one?
>>>
>>>                        <map>
>>>                            <!--entry key="ws-security.signature.**
>>> username"
>>> value="myclientkey"/-->
>>>                             <entry key="ws-security.callback-**handler"
>>> value="client.**ClientCallbackHandler"/>
>>>        <entry key="ws-security.username" value="alice"/>
>>>        <entry key="ws-security.signature.**properties"
>>> value="clientKeystore.**properties"/>
>>>        <entry key="ws-security.encryption.**properties"
>>> value="clientKeystore.**properties"/>
>>>        <entry key="ws-security.encryption.**username" value="mystskey"/>
>>>        <entry key="ws-security.encryption.**username"
>>> value="myservicekey"/>
>>>
>>> I have following content in the clientKeystore.properties.
>>>
>>> org.apache.ws.security.crypto.**merlin.keystore.type=jks
>>> org.apache.ws.security.crypto.**merlin.keystore.password=**cspass
>>> org.apache.ws.security.crypto.**merlin.keystore.alias=**myclientkey
>>> org.apache.ws.security.crypto.**merlin.file=wsclientstore.jks
>>>                        </map>
>>>
>>> And my client.ClientCallbackHandler class has information about password
>>> for mystskey and myservicekey. How do I configure it right?
>>>
>>> Thanks in advance.
>>>
>>> Gina
>>>
>>>
>>
>> --
>> Glen Mazza
>> Talend Community Coders
>> coders.talend.com
>> blog: www.jroller.com/gmazza
>>
>>



-- 
Colm O hEigeartaigh

Talend Community Coder
http://coders.talend.com

Reply via email to