[ 
https://issues.apache.org/jira/browse/CXF-5609?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13933159#comment-13933159
 ] 

Modestas Vainius commented on CXF-5609:
---------------------------------------

Hmm, Now I took another look at the spec and it says:

"This assertion indicates a requirement for a particular security header layout 
as defined under the [Security Header Layout] property described in Section 
6.7. The scope of this assertion is defined by its containing assertion."

http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html#_Layout_Assertion

So maybe Layout is valid outside binding after all.

> Won't pass verification of explicit WSS Policy AsymmetricBinding -> Layout -> 
> Policy -> Lax
> -------------------------------------------------------------------------------------------
>
>                 Key: CXF-5609
>                 URL: https://issues.apache.org/jira/browse/CXF-5609
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 2.6.13, 2.7.10
>            Reporter: Modestas Vainius
>            Assignee: Colm O hEigeartaigh
>
> Hello,
> I can't seem to get CXF WS-* validator to accept a message for service which 
> has <sp:Layout> <wsp:Policy> <sp:Lax /> policy explicitly defined in the 
> WSDL. Maybe I'm missing something, but all I get is:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>    <soap:Body>
>       <soap:Fault>
>          <faultcode>soap:Server</faultcode>
>          <faultstring>These policy alternatives can not be satisfied: 
> {http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702}Layout</faultstring>
>       </soap:Fault>
>    </soap:Body>
> </soap:Envelope>
> I did some debugging on the issue and it appears that both 
> org.apache.cxf.ws.security.policy.builders.LayoutBuilder and 
> org.apache.cxf.ws.security.policy.model.AsymmetricBinding add 
> org.apache.cxf.ws.security.policy.model.Layout assertions to the expected 
> policy. However 
> org.apache.cxf.ws.security.wss4j.policyvalidators.AbstractBindingPolicyValidator.checkProperties(SymmetricAsymmetricBindingBase,
>  AssertionInfo, AssertionInfoMap, List<WSSecurityEngineResult>, 
> List<WSSecurityEngineResult>, Message) successfully asserts only one of 
> Layout instances while another one remains untouched and causes the failure 
> to occur. If I comment out sp:Layout from WSDL, validation passes since 
> LayoutBuilder never adds its Layout instance.
> I guess that removing LayoutBuilder would fix the problem but I'm not sure if 
> this is the right thing to do.
> Relevant excerpt from WSDL:
> <wsp:Policy wsu:Id="SignAndEncrypt"
>               
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
>               xmlns:wsp="http://www.w3.org/ns/ws-policy"; 
> xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702";
>               wsdl:required="true">
>               <wsp:ExactlyOne>
>                       <wsp:All>
>                               <sp:AsymmetricBinding>
>                                       <wsp:Policy>
>                                               <sp:InitiatorToken>
>                                                       <wsp:Policy>
>                                                               <sp:X509Token
>                                                                       
> sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never";>
>                                                                       
> <wsp:Policy>
>                                                                               
> <sp:WssX509V3Token10 />
>                                                                       
> </wsp:Policy>
>                                                               </sp:X509Token>
>                                                       </wsp:Policy>
>                                               </sp:InitiatorToken>
>                                               <sp:RecipientToken>
>                                                       <wsp:Policy>
>                                                               <sp:X509Token
>                                                                       
> sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never";>
>                                                                       
> <wsp:Policy>
>                                                                               
> <sp:WssX509V3Token10 />
>                                                                       
> </wsp:Policy>
>                                                               </sp:X509Token>
>                                                       </wsp:Policy>
>                                               </sp:RecipientToken>
>                                               <sp:AlgorithmSuite>
>                                                       <wsp:Policy>
>                                                               
> <sp:Basic256Rsa15 />
>                                                               
> <sp:TripleDesRsa15 />
>                                                               
> <sp:Basic128Rsa15 />
>                                                       </wsp:Policy>
>                                               </sp:AlgorithmSuite>
>                                               <sp:IncludeTimestamp />
>                                               <sp:EncryptSignature />
>                                               
> <sp:OnlySignEntireHeadersAndBody />
>                                       </wsp:Policy>
>                               </sp:AsymmetricBinding>
>                               <sp:Wss10>
>                                       <wsp:Policy>
>                                               <sp:MustSupportRefIssuerSerial 
> />
>                                               <sp:MustSupportRefEmbeddedToken 
> />
>                                       </wsp:Policy>
>                               </sp:Wss10>
>                               <sp:Layout>
>                                       <wsp:Policy>
>                                               <sp:Lax />
>                                       </wsp:Policy>
>                               </sp:Layout>
>                               <sp:SignedParts>
>                                       <sp:Body />
>                                       <sp:Header 
> Namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"; />
>                                       <sp:Header 
> Namespace="http://www.w3.org/2005/08/addressing"; />
>                               </sp:SignedParts>
>                               <sp:EncryptedParts>
>                                       <sp:Body />
>                               </sp:EncryptedParts>
>                       </wsp:All>
>               </wsp:ExactlyOne>
>       </wsp:Policy>



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to