[ 
https://issues.apache.org/jira/browse/RAMPART-8?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12472456
 ] 

Hans G Knudsen commented on RAMPART-8:
--------------------------------------

Hi!


I just had a closer look at the patch that was applied...


In the incoming policy handling the RampartPolicyData.signedParts gets trashed 
in PolicyBasedResultValidator ( around line 73 ) when 

        Vector signatureParts = RampartUtil.getSignedParts(rmd);

is invoked, and thereafter cannot be relied on in the following validate* 
methods. Moving validateSignedPartsHeaders up before the above call is not a 
clean solution.


The patch I proposed relied on RampartPolicyData.signedParts being 'immutable' 
as it orignally was only written to by RampartPolicyBuilder, and thereafter 
only read.


What does the validator expect to get returned from RampartUtil ?? A list of 
elements that was signed ?? 

Now RampartUtil.getSignedParts returns soap-headers + body in case of  
'isEntireHeadersAndBodySignatures' or otherwise policy definition of  
SignedPart headers + body (if specified). 

Is this what is needed for the validateEncrSig test ?? 

Should it not be the WSSecurityEngineResult.getSignedElements() if a SIGN 
WSSecurityEngineResult is present, as this on holds the actual signed elements 
??



For outgoing handling I donot see any problems - though I have not had time to 
look further into it.


Are proposals for changes supposed to be discussed here or on the mailinglists 
?? (if any exist for rampart)


regards
/hans





For the outgoing policy handling I cannot see any problems


> RAMPART : Policy handling of  <SignedPart> <Header(s)..
> -------------------------------------------------------
>
>                 Key: RAMPART-8
>                 URL: https://issues.apache.org/jira/browse/RAMPART-8
>             Project: Rampart
>          Issue Type: Bug
>            Reporter: Hans G Knudsen
>         Assigned To: Ruchith Udayanga Fernando
>         Attachments: fix_outgoing_signedpart_headers.diff, 
> fix_signedpart_headers_rampart_svn.diff, 
> fix_signedpart_headers_rampart_svn.diff, 
> policy_client_only_sign_wsa_to_header.xml, 
> policy_server_expect_all_wsa_headers_signed.xml
>
>
> Hi
> Interop testing with .Net/WCF we noticed a few problems if we used/tried to 
> specify "Headers" in the SignedParts Policy block
> eg
>     <sp:SignedParts 
> xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
>         <sp:Body/>
>         <sp:Header Name="To" 
> Namespace="http://www.w3.org/2005/08/addressing"/>
>         <sp:Header Name="Action" 
> Namespace="http://www.w3.org/2005/08/addressing"/>
>         <sp:Header Name="MessageID" 
> Namespace="http://www.w3.org/2005/08/addressing"/>
>         <sp:Header Name="ReplyTo" 
> Namespace="http://www.w3.org/2005/08/addressing"/>
> 1: Incoming handling does not use the list to check that specified headers 
> were signed
> Check could be :
> - Is header from policy-list present in Soap message ?
> - if present - check if header is in 'SignedElements' in 
> WSSecurityEngineResult
> 2: Outgoing handling fails if header specified in policy is  not present in 
> Soap Message - and message is not sent
> Rampart calls WSS4J->WSSecSignature.addReferencesToSign to add headers to be 
> signed - but fails if header is not present - could be a specified addressing 
> header which is not needed in the current message.
> Is this a desirable behaviour ?
> I suppose you specify the headers in <SignedParts> because you want to 
> enforce that they are signed (when receiving) - so should outgoing handling 
> not be a little less strict ?? 
> ( - this could of cause also be a bug in WSS4J )
> 3. When used together with policy element <OnlySignEntireHeadersAndBody> - 
> heades are added twice to the signature.
> Axis survives this - but .Net/WCF cough a bit (throws exception / Soap fault)
> - this is releated to (2) 
> /hans

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to