As far as I could see, the IDP (passive STS) is using a test certificate 
(CN=test) for signing the SAML token (Not sure if that can be the issue). I 
tried to change the certificate to the use BSL.Com (The certificate that the 
passive STS in .NET is using). I basically changed the certicate in the 
Fedidp.xml file, and I tried to deploy the file again in the opensso instance 
running in the idp. However, I am getting a permission error or something like 
that.

[#|2009-11-03T16:01:36.778-0400|WARNING|sun-appserver9.1|com.sun.xml.ws.wspolicy.com.sun.xml.ws.api.policy.ModelTranslator|_ThreadID=10;_ThreadName=main;_RequestID=d6f93987-e8d6-485b-aa77-8996d6ac1b7a;|WSM1007:
 Failed to create a ModelTranslator instance.

com.sun.xml.ws.policy.PolicyException: WSP0071: Multiple policy assertion 
creators try to register for namespace 
'http://schemas.xmlsoap.org/ws/2005/02/rm/policy'. Old creator`s class: 
'com.sun.xml.ws.rx.policy.spi_impl.RxAssertionCreator', new creator`s class: 
'com.sun.xml.ws.rm.policy.spi_impl.RmAssertionCreator'.
 at 
com.sun.xml.ws.policy.sourcemodel.PolicyModelTranslator.<init>(PolicyModelTranslator.java:184)
 at com.sun.xml.ws.api.policy.ModelTranslator.<init>(ModelTranslator.java:81)
 at com.sun.xml.ws.api.policy.ModelTranslator.<clinit>(ModelTranslator.java:70)
 at com.sun.xml.ws.policy.BuilderHandler.getPolicies(BuilderHandler.java:97)
 at 
com.sun.xml.ws.policy.BuilderHandler.getPolicySubjects(BuilderHandler.java:105)
 at 
com.sun.xml.ws.policy.BuilderHandlerEndpointScope.doPopulate(BuilderHandlerEndpointScope.java:67)
 at com.sun.xml.ws.policy.BuilderHandler.populate(BuilderHandler.java:77)
 at 
com.sun.xml.ws.policy.PolicyMapBuilder.getNewPolicyMap(PolicyMapBuilder.java:103)
 at 
com.sun.xml.ws.policy.PolicyMapBuilder.getPolicyMap(PolicyMapBuilder.java:85)
 at 
com.sun.xml.ws.policy.PolicyWSDLParserExtension.postFinished(PolicyWSDLParserExtension.java:955)
 at 
com.sun.xml.ws.wsdl.parser.DelegatingParserExtension.postFinished(DelegatingParserExtension.java:187)
 at 
com.sun.xml.ws.wsdl.parser.WSDLParserExtensionFacade.postFinished(WSDLParserExtensionFacade.java:334)
 at 
com.sun.xml.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:262)
 at com.sun.xml.ws.server.EndpointFactory.getWSDLPort(EndpointFactory.java:531)
 at 
com.sun.xml.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:174)
 at com.sun.xml.ws.api.server.WSEndpoint.create(WSEndpoint.java:505)
 at 
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parseAdapters(DeploymentDescriptorParser.java:253)
 at 
com.sun.xml.ws.transport.http.DeploymentDescriptorParser.parse(DeploymentDescriptorParser.java:147)
 at 
com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:124)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
com.sun.identity.wss.sts.STSContextListener.contextInitialized(STSContextListener.java:107)
 at 
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4523)
 at org.apache.catalina.core.StandardContext.start(StandardContext.java:5184)
 at com.sun.enterprise.web.WebModule.start(WebModule.java:326)
 at com.sun.enterprise.web.LifecycleStarter.doRun(LifecycleStarter.java:58)
 at 
com.sun.appserv.management.util.misc.RunnableBase.runSync(RunnableBase.java:304)
 at 
com.sun.appserv.management.util.misc.RunnableBase._submit(RunnableBase.java:176)
 at 
com.sun.appserv.management.util.misc.RunnableBase.submit(RunnableBase.java:192)
 at com.sun.enterprise.web.VirtualServer.startChildren(VirtualServer.java:1672)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1231)
 at org.apache.catalina.core.StandardHost.start(StandardHost.java:955)
 at com.sun.enterprise.web.LifecycleStarter.doRun(LifecycleStarter.java:58)
 at 
com.sun.appserv.management.util.misc.RunnableBase.runSync(RunnableBase.java:304)
 at 
com.sun.appserv.management.util.misc.RunnableBase._submit(RunnableBase.java:176)
 at 
com.sun.appserv.management.util.misc.RunnableBase.submit(RunnableBase.java:192)
 at 
com.sun.enterprise.web.EmbeddedWebContainer$WebEngine.startChildren(EmbeddedWebContainer.java:453)
 at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1231)
 at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:533)
 at org.apache.catalina.startup.Embedded.start(Embedded.java:936)
 at com.sun.enterprise.web.WebContainer.start(WebContainer.java:873)
 at com.sun.enterprise.web.PEWebContainer.startInstance(PEWebContainer.java:790)
 at 
com.sun.enterprise.web.PEWebContainerLifecycle.onStartup(PEWebContainerLifecycle.java:84)
 at 
com.sun.enterprise.server.ApplicationServer.onStartup(ApplicationServer.java:442)
 at 
com.sun.enterprise.server.ondemand.OnDemandServer.onStartup(OnDemandServer.java:120)
 at com.sun.enterprise.server.PEMain.run(PEMain.java:411)
 at com.sun.enterprise.server.PEMain.main(PEMain.java:338)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at com.sun.enterprise.server.PELaunch.main(PELaunch.java:412)
|#]

Is there any additional step I do not know required to change the certificate ?

Thanks
Pablo.

-----Original Message-----
From: jiandong....@sun.com [mailto:jiandong....@sun.com] 
Sent: Monday, November 02, 2009 8:09 PM
To: stonehenge-dev@incubator.apache.org
Subject: Re: Third interop test between Metro and .NET

Pablo Cibraro wrote:
> Besides that issue with the WS-Trust message, these are my findings for this 
> scenario,
>
>
> 1.       The active STS in metro is using an username token for 
> authenticating the client application (trader web client). .NET is using a 
> client certificate for that purpose (BSL.Com), and I think it is the correct 
> mechanism. I basically changed the .NET Active STS and trader client 
> implementation to use username tokens.
>   
Reasonable since the client already has the certificate to identify it.
We need to update Metro part for this.
> 2.       The wsit-client.xml for the trader client application in metro looks 
> as follow,
>
>                <tc:PreconfiguredSTS 
> xmlns:tc="http://schemas.sun.com/ws/2006/05/trust/client";
>                                      
> endpoint=http://localhost:9001/tradeactivests (.NET)
>                                      
> wsdlLocation=http://apps.stonehenge.com:1316/active_sts/ActiveSTS?wsdl (WSDL 
> in METRO)
>                                      serviceName="SecurityTokenService"
>                                      portName="ISecurityTokenService_Port"
>                                      namespace="http://tempuri.org/"; 
> shareToken="true">
>                 </tc:PreconfiguredSTS>
>
>                 I could not make it work against the .NET Active STS Wsdl. 
> For some reasons, all the requests with that WSDL are not protected with 
> WS-Security. I updated all the bindings and ports in the .NET to use 
> ISecurityTokenService and http://tempuri.org as namespace, but that does not 
> work.
>
>   
One possible reason is version mismatch since we have to use addressing 
Action header to identity and secure the message properly.
Can you check if you use <sp:Trust13 and have something like 
wsap10:Action="http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue"; 
set in the wsdl?
> 3.       Metro was using derived keys and basic 128 as algorithm suite. WCF 
> was throwing a weird parsing error exceptions for the derived keys (this 
> option was enabled in the WCF bindings too), so I disable that feature in 
> metro and .NET.
>
> "Cannot read the token from the 'DerivedKeyToken' element with the 
> 'http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512' namespace for 
> BinarySecretSecurityToken, with a '' ValueType. If this element is expected 
> to be valid, ensure that security is configured to consume tokens with the 
> name, namespace and value type specified."
>   
Can you get the request message for this? I'd like to see where we have 
this ValueType=" ".

Thanks!

Jiandong
> Regards,
> Pablo.
>
>   



Reply via email to