You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by Dennis Sosnoski <dm...@sosnoski.com> on 2010/05/12 06:17:08 UTC

Setting WS-Addressing/WS-Trust/WS-SC versions for SCT request

I'm running some WS-SecureConversation tests with Axis2 1.5.1 and 
Rampart 1.5, and saw that Rampart is using the 
http://schemas.xmlsoap.org/ws/2005/02/trust namespace and actions for 
the request to the STS, along with the 
http://schemas.xmlsoap.org/ws/2004/08/addressing WS-Addressing and 
http://schemas.xmlsoap.org/ws/2005/02/sc WS-SecureConversation versions. 
How can I set Rampart to use the newer versions of these standards?

I'm using WS-SecurityPolicy 1.2, and have <sp:Trust13> and 
<wsap:UsingAddressing xmlns="http://www.w3.org/2006/05/wsdl"/> tokens 
included in the policy, so Rampart appears to be ignoring the policy and 
just going with defaults for the request.

I did see that there's some logic in RampartMessageData to set these 
versions from properties in the message context, but that logic appears 
flawed (lines 168-178):

            //Extract known properties from the msgCtx
           
            if(msgCtx.getProperty(KEY_WST_VERSION) != null) {
                this.wstVersion = 
TrustUtil.getWSTVersion((String)msgCtx.getProperty(KEY_WST_VERSION));
            }
           
            if(msgCtx.getProperty(KEY_WSSC_VERSION) != null) {
                this.secConvVersion = 
TrustUtil.getWSTVersion((String)msgCtx.getProperty(KEY_WSSC_VERSION));
            }
           
Note that this is calling TrustUtil.getWSTVersion() for both the 
WS-Trust and the WS-SecureConversation version, so you'd have to use the 
WS-Trust namespaces as values of the wscVersion property in order for 
this to work. Worse, though, is that it looks like the options set on 
the original Client are not passed in to the STSClient used by Rampart 
for the STS request, so I don't see any way of setting the properties 
for the STSClient from my application code.

Thanks,

  - Dennis

-- 
Dennis M. Sosnoski
XML and Web Services in Java
Training and Consulting
http://www.sosnoski.com - http://www.sosnoski.co.nz
Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117


Re: Setting WS-Addressing/WS-Trust/WS-SC versions for SCT request

Posted by Dennis Sosnoski <dm...@sosnoski.com>.
Hi Nandana,

I'll create a Jira with suggested changes, but I was hoping there was 
some way to set the versions already and I just wasn't seeing it. Are 
you saying there isn't?

  - Dennis

Nandana Mihindukulasooriya wrote:
> Hi Dennis,
>          Can you please create JIRA for this. Better yet, as you are
> familiar with the code, can you please attach a patch fixing the issue.
>
> Best Regards,
> Nandana
>
> On Wed, May 12, 2010 at 6:17 AM, Dennis Sosnoski <dm...@sosnoski.com> wrote:
>
>   
>> I'm running some WS-SecureConversation tests with Axis2 1.5.1 and Rampart
>> 1.5, and saw that Rampart is using the
>> http://schemas.xmlsoap.org/ws/2005/02/trust namespace and actions for the
>> request to the STS, along with the
>> http://schemas.xmlsoap.org/ws/2004/08/addressing WS-Addressing and
>> http://schemas.xmlsoap.org/ws/2005/02/sc WS-SecureConversation versions.
>> How can I set Rampart to use the newer versions of these standards?
>>
>> I'm using WS-SecurityPolicy 1.2, and have <sp:Trust13> and
>> <wsap:UsingAddressing xmlns="http://www.w3.org/2006/05/wsdl"/> tokens
>> included in the policy, so Rampart appears to be ignoring the policy and
>> just going with defaults for the request.
>>
>> I did see that there's some logic in RampartMessageData to set these
>> versions from properties in the message context, but that logic appears
>> flawed (lines 168-178):
>>
>>           //Extract known properties from the msgCtx
>>                     if(msgCtx.getProperty(KEY_WST_VERSION) != null) {
>>               this.wstVersion =
>> TrustUtil.getWSTVersion((String)msgCtx.getProperty(KEY_WST_VERSION));
>>           }
>>                     if(msgCtx.getProperty(KEY_WSSC_VERSION) != null) {
>>               this.secConvVersion =
>> TrustUtil.getWSTVersion((String)msgCtx.getProperty(KEY_WSSC_VERSION));
>>           }
>>          Note that this is calling TrustUtil.getWSTVersion() for both the
>> WS-Trust and the WS-SecureConversation version, so you'd have to use the
>> WS-Trust namespaces as values of the wscVersion property in order for this
>> to work. Worse, though, is that it looks like the options set on the
>> original Client are not passed in to the STSClient used by Rampart for the
>> STS request, so I don't see any way of setting the properties for the
>> STSClient from my application code.
>>
>> Thanks,
>>
>>  - Dennis
>>
>> --
>> Dennis M. Sosnoski
>> XML and Web Services in Java
>> Training and Consulting
>> http://www.sosnoski.com - http://www.sosnoski.co.nz
>> Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117
>>
>>
>>     
>
>   

Re: Setting WS-Addressing/WS-Trust/WS-SC versions for SCT request

Posted by Nandana Mihindukulasooriya <na...@gmail.com>.
Hi Dennis,
         Can you please create JIRA for this. Better yet, as you are
familiar with the code, can you please attach a patch fixing the issue.

Best Regards,
Nandana

On Wed, May 12, 2010 at 6:17 AM, Dennis Sosnoski <dm...@sosnoski.com> wrote:

> I'm running some WS-SecureConversation tests with Axis2 1.5.1 and Rampart
> 1.5, and saw that Rampart is using the
> http://schemas.xmlsoap.org/ws/2005/02/trust namespace and actions for the
> request to the STS, along with the
> http://schemas.xmlsoap.org/ws/2004/08/addressing WS-Addressing and
> http://schemas.xmlsoap.org/ws/2005/02/sc WS-SecureConversation versions.
> How can I set Rampart to use the newer versions of these standards?
>
> I'm using WS-SecurityPolicy 1.2, and have <sp:Trust13> and
> <wsap:UsingAddressing xmlns="http://www.w3.org/2006/05/wsdl"/> tokens
> included in the policy, so Rampart appears to be ignoring the policy and
> just going with defaults for the request.
>
> I did see that there's some logic in RampartMessageData to set these
> versions from properties in the message context, but that logic appears
> flawed (lines 168-178):
>
>           //Extract known properties from the msgCtx
>                     if(msgCtx.getProperty(KEY_WST_VERSION) != null) {
>               this.wstVersion =
> TrustUtil.getWSTVersion((String)msgCtx.getProperty(KEY_WST_VERSION));
>           }
>                     if(msgCtx.getProperty(KEY_WSSC_VERSION) != null) {
>               this.secConvVersion =
> TrustUtil.getWSTVersion((String)msgCtx.getProperty(KEY_WSSC_VERSION));
>           }
>          Note that this is calling TrustUtil.getWSTVersion() for both the
> WS-Trust and the WS-SecureConversation version, so you'd have to use the
> WS-Trust namespaces as values of the wscVersion property in order for this
> to work. Worse, though, is that it looks like the options set on the
> original Client are not passed in to the STSClient used by Rampart for the
> STS request, so I don't see any way of setting the properties for the
> STSClient from my application code.
>
> Thanks,
>
>  - Dennis
>
> --
> Dennis M. Sosnoski
> XML and Web Services in Java
> Training and Consulting
> http://www.sosnoski.com - http://www.sosnoski.co.nz
> Seattle, WA +1-425-939-0576 - Wellington, NZ +64-4-298-6117
>
>