There definitely looks like a bug in here someplace, but I'm not 100% sure where or the cause. It definitely needs to replace the Assertion map (since the policy may be very different), but it likely should go through the old map and re-assert any policies on the new map that were asserted on the old. That MAY fix it, I'm not really sure. Is there any way you can create a test case? Better yet, can you try the above and maybe submit a patch if that works? You should just be able to walk the assertions in the old map, check if they exist in the new map, and assert them if they do.
Dan On Tuesday, October 18, 2011 9:52:59 AM timmgrant wrote: > Hi, > > I am using CXF 2.4.3 with the following policy: > > <wsp:Policy wsu:Id="WSHttpBinding_Blah_policy"> > <wsp:ExactlyOne> > <wsp:All> > <sp:TransportBinding > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <wsp:Policy> > <sp:TransportToken> > <wsp:Policy> > <sp:HttpsToken RequireClientCertificate="false" /> > </wsp:Policy> > </sp:TransportToken> > <sp:AlgorithmSuite> > <wsp:Policy> > <sp:Basic256 /> > </wsp:Policy> > </sp:AlgorithmSuite> > <sp:Layout> > <wsp:Policy> > <sp:Strict /> > </wsp:Policy> > </sp:Layout> > <sp:IncludeTimestamp /> > </wsp:Policy> > </sp:TransportBinding> > <sp:EndorsingSupportingTokens > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <wsp:Policy> > <sp:SecureConversationToken > > sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/Includ > eToken/AlwaysToRecipient"> <wsp:Policy> > > <sp:BootstrapPolicy> > > <wsp:Policy> > > <sp:SignedParts> > > <sp:Body /> > > <sp:Header Name="To" > > Namespace="http://www.w3.org/2005/08/addressing" /> > > <sp:Header Name="From" > > Namespace="http://www.w3.org/2005/08/addressing" /> > > <sp:Header Name="FaultTo" > > Namespace="http://www.w3.org/2005/08/addressing" /> > > <sp:Header Name="ReplyTo" > > Namespace="http://www.w3.org/2005/08/addressing" /> > > <sp:Header Name="MessageID" > > Namespace="http://www.w3.org/2005/08/addressing" /> > > <sp:Header Name="RelatesTo" > > Namespace="http://www.w3.org/2005/08/addressing" /> > > <sp:Header Name="Action" > > Namespace="http://www.w3.org/2005/08/addressing" /> > > </sp:SignedParts> > > <sp:EncryptedParts> > > <sp:Body /> > > </sp:EncryptedParts> > > <sp:TransportBinding> > > <wsp:Policy> > > <sp:TransportToken> > > <wsp:Policy> > > <sp:HttpsToken RequireClientCertificate="false" /> > > </wsp:Policy> > > </sp:TransportToken> > > <sp:AlgorithmSuite> > > <wsp:Policy> > > <sp:Basic256 /> > > </wsp:Policy> > > </sp:AlgorithmSuite> > > <sp:Layout> > > <wsp:Policy> > > <sp:Strict /> > > </wsp:Policy> > > </sp:Layout> > > <sp:IncludeTimestamp /> > > </wsp:Policy> > > </sp:TransportBinding> > <sp:EndorsingSupportingTokens> > > <wsp:Policy> > > <sp:X509Token > > sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/Includ > eToken/AlwaysToRecipient"> <wsp:Policy> > > <sp:RequireThumbprintReference /> > > <sp:WssX509V3Token10 /> > > </wsp:Policy> > > </sp:X509Token> > > <sp:SignedParts> > > <sp:Header Name="To" > > Namespace="http://www.w3.org/2005/08/addressing" /> > > </sp:SignedParts> > > </wsp:Policy> > </sp:EndorsingSupportingTokens> > > <sp:Wss11> > > <wsp:Policy> > > <sp:MustSupportRefKeyIdentifier /> > > <sp:MustSupportRefIssuerSerial /> > > <sp:MustSupportRefThumbprint /> > > <sp:MustSupportRefEncryptedKey /> > > </wsp:Policy> > > </sp:Wss11> > > <sp:Trust10> > > <wsp:Policy> > > <sp:MustSupportIssuedTokens /> > > <sp:RequireClientEntropy /> > > <sp:RequireServerEntropy /> > > </wsp:Policy> > > </sp:Trust10> > > </wsp:Policy> > > </sp:BootstrapPolicy> > </wsp:Policy> > </sp:SecureConversationToken> > <sp:SignedParts> > <sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing" > /> > </sp:SignedParts> > </wsp:Policy> > </sp:EndorsingSupportingTokens> > <sp:Wss11 > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <wsp:Policy> > <sp:MustSupportRefKeyIdentifier > /> > <sp:MustSupportRefIssuerSerial > /> > <sp:MustSupportRefThumbprint /> > <sp:MustSupportRefEncryptedKey > /> > </wsp:Policy> > </sp:Wss11> > <sp:Trust10 > xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> > <wsp:Policy> > <sp:MustSupportIssuedTokens /> > <sp:RequireClientEntropy /> > <sp:RequireServerEntropy /> > </wsp:Policy> > </sp:Trust10> > <wsaw:UsingAddressing /> > </wsp:All> > </wsp:ExactlyOne> > </wsp:Policy> > > However I am getting the following error: > > These policy alternatives can not be satisfied: > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}SignedParts > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}EncryptedParts > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}TransportBinding > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}HttpsToken > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}TransportToken > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}IncludeTimestamp > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}Layout > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}EndorsingSupporti > ngTokens > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}X509Token > {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}Wss11 > {http://schemas.xmlsoap.org/ws/2005/07/securitypolicy}Trust10 > > I am 99% certain the request message is fine and when I debug I can see that > all the policies are being satisfied however the > SecureConversationInInterceptor is then replacing the AssertionInfoMap (line > 252). Then when the PolicyVerificationInInterceptor checks that the > assertions have been satisfied they all fail because it has been replaced > with the new assertioninfomap. I'm at a bit of a loss as to whether this > is a bug or if I've missed something? > > Any ideas? > > Cheers, > Tim > > -- > View this message in context: > http://cxf.547215.n5.nabble.com/SecureConversationInInterceptor-removing-al > l-assertions-tp4914500p4914500.html Sent from the cxf-user mailing list > archive at Nabble.com. -- Daniel Kulp [email protected] http://dankulp.com/blog Talend - http://www.talend.com
