Pablo, 

Changing the .NET config to the old bindings to interop with Metro as it is now 
configured is probably the right first step so we can test the CBD side of 
things.  

We would ultimately like to upgrade everything to use the more modern versions 
of the specs.  Not sure if we should get through all the tests with the old 
bindings and then go back and upgrade everything one at a time, or if we should 
go ahead and upgrade everything.  Also, should we keep old and new around as 
different endpoint configurations, or just upgrade and forget about the old 
versions?

Interested in others' thoughts.

Kent 

-----Original Message-----
From: Pablo Cibraro [mailto:[email protected]] 
Sent: Friday, October 30, 2009 1:34 PM
To: [email protected]
Subject: RE: First interop test between Metro and .NET

Thanks Jiandong for providing this information!!. I have the first scenario 
working,

Config Service -> Metro
Business Service -> .NET
Active STS -> Metro
Passive STS -> Metro
Trader client -> Metro

These are my findings,

- Metro is using SOAP 1.1 with WS-Addressing 1.0, so I changed all the WCF 
configuration in .NET to use those protocol versions
- The Metro Active is signing/encrypting the SAML token with the certificate 
OPS.Com, and .NET was expecting BSL.Com (According to the specification, the 
ActiveSTS is run in the same domain as the business service, so BSL.Com looks 
like a better option). I changed the .NET implementation to use OPS.Com, and 
that fixed the problem.
- There is bug in the metro compilation process, the 
com.sun.xml.ws.api.security.trust.STSAttributeProvider file was missing, and 
therefore it was not included in the active sts war file. I need this to apply 
some transformations in the SAML Attributes (The Attribute provider that comes 
out of the box generates an ActAs attribute without namespace so WCF is 
complaining about that). I created this file to use the 
ActiveSTSAttributeProvider implementation. 
- I changed the ActiveSTSAttributeProvider implementation to provide a 
namespace for the ActAs attribute

I can commit these two changes as patch for the Metro implementation if you 
want. 

My next step is to do the opposite, run the Metro Business Service and the rest 
of the components in .NET

Regards,
Pablo.


-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Friday, October 30, 2009 4:29 PM
To: [email protected]
Subject: Re: First interop test between Metro and .NET

Pablo Cibraro wrote:
> Hi Ming,
>
> 1. I think we should create a new endpoint for the business service that 
> expects SAML tokens. In the current version we only have "DOTNET_BS" and 
> "METRO_BS" (I noticed you created a new endpoint METRO_BSSTS, but the trader 
> client application still uses the rule of the URL prefix). The .NET 
> implementation does not support the basic profile anymore for the business 
> service as it does not make sense anymore if we are planning to use claim 
> based security in that service. 
>   
That is the general practice to have different endpoints for different 
authentication setting.
> 2. Ok, I changed that class but it is not being used at all by the Active 
> STS. Is that class automatically loaded (I could not find any configuration 
> that references that class) ?. If it is, there is a problem there because it 
> is not being loaded. Any clue about what need to be changed ?
>   
It should be loaded using the standard java service finding mechanism:
in the active_sts.war created, there  should have an file 
WEB-INF\classes\META_INF\services\com.sun.xml.ws.api.security.trust.STSAttributeProvider.
Here "com.sun.xml.ws.api.security.trust.STSAttributeProvider" is the file name, 
the content of the file is the classpath of your implementing class of the 
interface, e.g.
org.apache.stonehenge.stockstrade.sts.ActiveSTSAttributeProvider"

> I was planning to use something like "http://sun"; as the namespace. 
> Microsoft Geneva is using 
> http://schemas.microsoft.com/ws/2008/06/identity/claims/actingas
>   
With latest build we should all have changed to 
"http://schemas.xmlsoap.org/ws/2009/09/identity/claims/actor"; (actor is the 
attribute name, http://schemas.xmlsoap.org/ws/2009/09/identity/claims
<http://schemas.xmlsoap.org/ws/2009/09/identity/claims/actor>
namespace) to ensure we have the same one to repent the identity of the 
requester.

Regards,

Jiandong
>
> Regards,
> Pablo.
>
>
> -----Original Message-----
> From: Ming Jin [mailto:[email protected]]
> Sent: Thursday, October 29, 2009 7:16 PM
> To: [email protected]
> Subject: Re: First interop test between Metro and .NET
>
> Hi Pablo,
>
> 1. We assumed the address of SEI consuming Active STS be ended up with 
> "STS", you need to change to the URL with "STS" suffix. Meanwhile, as 
> now we have Active STS implementations of Metro and WCF, I think we 
> need to discuss the naming convention of these URLs. What's your opinion?
>
> 2. Yes, the ActiveSTSAttributeProvider is the class generating the 
> attributes. What namespace are you going to use?
>
> Best Regards,
> Ming Jin
>
> On Thu, Oct 29, 2009 at 10:02 PM, Pablo Cibraro
> <[email protected]>wrote:
>
>   
>> I finally found the problem. The trader_client application in metro 
>> is only negotiating a SAML token when the business service endpoint 
>> url ends up with "STS", so I changed the endpoint in .NET to be "
>> http://localhost:9000/businessserviceSTS";. After that, I started 
>> receiving messages with the SAML token, but I got some interop errors 
>> that I could fix (I will send the list later). Now, I am getting an 
>> error in one of the attributes that the ActiveSTS in metro is adding 
>> to the token
>>
>> <saml:Attribute AttributeName="ActAs" AttributeNamespace="">
>>                      <saml:AttributeValue>
>>                        <!--Removed-->
>>                      </saml:AttributeValue>
>>                    </saml:Attribute>
>>
>> The attributeNamespace is empty, and WCF is complaining about that. 
>> Could you confirm that the class in metro that is generating the 
>> attributes is ActiveSTSAttributeProvider ? So I can change it on my 
>> side and see if that fixes the issue.
>>
>> Thanks
>> Pablo.
>>
>> -----Original Message-----
>> From: Kent Brown [mailto:[email protected]]
>> Sent: Friday, October 23, 2009 8:07 PM
>> To: [email protected]
>> Subject: RE: First interop test between Metro and .NET
>>
>> I don't see the WSDL.  Does the listserv allow attachments?  Maybe 
>> attach to a JIRA ticket.
>>
>> -----Original Message-----
>> From: Pablo Cibraro [mailto:[email protected]]
>> Sent: Friday, October 23, 2009 2:33 PM
>> To: [email protected]
>> Subject: RE: First interop test between Metro and .NET
>>
>> Sure. I attached the business service WSDL. Let me know if that helps.
>>
>> Thanks
>> Pablo.
>>
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]]
>> Sent: Thursday, October 22, 2009 7:00 PM
>> To: [email protected]
>> Subject: Re: First interop test between Metro and .NET
>>
>> Pablo Cibraro wrote:
>>     
>>> Hi Jiandong,
>>>
>>> "To ensure interoperability in this stage, we should all use issued 
>>> token with a symmetric proof key as an EndorsingSupportingToken.
>>> The issued token can be encrypted by the Active STS with the service 
>>> certificate and of course signed by the STS."
>>>
>>> I am sorry, that is what I meant when I said a SAML token as client 
>>> credential :). BSL.Com is the certificate we used in the Active STS 
>>> for encrypting
>>>       
>> Ok
>>     
>>>  and signing the issued token
>>>       
>> the issued token should be signed with the issuer's private key, i.e 
>> the private key of the Active STS.
>> Can you send me the .Net Business Service wsdl with security policy 
>> in it to make sure we are in the same page?
>>     
>>> . According to some tests I ran yesterday, I noticed Metro is using
>>>       
>> OPS.Com for that purpose.
>>     
>> That should be a mistake.
>>
>> Thanks!
>>
>> Jiandong
>>     
>>> Thanks
>>> Pablo.
>>>
>>>
>>> -----Original Message-----
>>> From: [email protected] [mailto:[email protected]]
>>> Sent: Thursday, October 22, 2009 3:04 AM
>>> To: [email protected]
>>> Subject: Re: First interop test between Metro and .NET
>>>
>>> About the security setting for the BS service and interoperability:
>>>
>>>
>>>       
>>>> .NET is expecting a message with the following requirements,
>>>>
>>>>
>>>> 1.       WS Security 1.1 (We need to agree on this)
>>>>
>>>> 2.       A SAML token as client credential signed and encrypted with the
>>>>         
>> BSL.Com certificate (And the userID profile as a claim in that token)
>>     
>>>>         
>>> In terms of security policy, this means you have a SymmetricBinding 
>>> with
>>> X509 cert as protection token and an (probably bearer?) issued token 
>>> as a SignedEncryptedSupportingToken.
>>>
>>> It is set up differently for Metro based BS service: 
>>> SymmetricBinding with X509 cert as protection token and an keyed 
>>> ssued token as an EndorsingSupportingToken.
>>>
>>> There are 2 issues here:
>>>
>>> 1. The BS web service client may be created against a local copy of 
>>> the service wsdl. In this case we have a mismatch of security 
>>> setting between the BS client and the BS server.
>>> 2. Even if the BS client is created from the live wsdl of the BS 
>>> service, we actually have never tested the interoperability with 
>>> issued token  as other than an  EndorsingSupportingTken (see the 
>>> plugfest scenarios at http://mssoapinterop.org/ilab/). This is 
>>> because of the use/lack of use of str-transform for signing SAML 
>>> assertion in a message in different platforms. It is being addressed 
>>> but may take time.
>>>
>>> To ensure interoperability in this stage, we should all use issued 
>>> token with a symmetric proof key as an EndorsingSupportingToken.
>>> The issued token can be encrypted by the Active STS with the service 
>>> certificate and of course signed by the STS.
>>>
>>> Thanks!
>>>
>>> Jiandong
>>>
>>>       
>>>> Am I missing something, do I need to configure something else in 
>>>> the
>>>>         
>> Metro Trader Client application to secure the messages and use a SAML 
>> token ?.
>>     
>>>> Thanks
>>>> Pablo.
>>>>
>>>>
>>>>
>>>>
>>>>         
>>>
>>>
>>>       
>>
>>
>>     
>
>
>   



Reply via email to