Hi,

If you are planning to sign the message the standard [1] way then you
will have to place the "Signature" element in the "Security" header of
the SOAP message. The WS-Sec spcefication describes how to encrypt
and/or sign the message while preserving SOAP envelop structure.

You can do this using the Apache WSS4J if you are planning to
sign/encrypt SOAP messages.

Thanks,
Ruchith

1. 
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf

On Nov 9, 2007 8:03 PM,  <[EMAIL PROTECTED]> wrote:
> Hi,
>
> How do I determine where the <ds:Signature> element is placed in the result
> XML? E.g., I have a SOAP message like this:
>
> <env:Envelope>
> <env:Header ... />
> <env:Body>
> <pdpa:message>...</pdpa:message>
> </env:Body>
> </env:Envelope>
>
> My code signs only the <pdpa:message> part (using XPath-Transforms). In the
> resulting tree, the signature is added *after* the </env:Body>:
>
> <env:Body>
> <pdpa:message>...</pdpa:message>
> </env:Body>
> <ds:Signature>...</ds:Signature>
> </env:Envelope>
>
> I would, however, like to add it to the <pdpa:message> part:
>
> <env:Body>
> <pdpa:message>...</pdpa:message>
> <ds:Signature>...</ds:Signature>
> </env:Body>
> </env:Envelope>
>
> Reason: that way, I can just encrypt the <pdpa:message> (replace with
> <xenc:EncryptedData>) and preserve a correct SOAP message (with a Body
> element). The way it is now, I would encrypt the <pdpa:message> and have a
> signature "on the outside", which I consider weaker due to the weaknesses in
> SHA1.
>
> The code for the XPath-Transformation is
>
> String filter[][] = { { XPath2FilterContainer.INTERSECT,
>                                 "//Envelope/Body/message" } };
> transforms.addTransform(Transforms.TRANSFORM_XPATH2FILTER,
>         XPath2FilterContainer.newInstances(insideDoc, filter));
>
> Which I think is correct. Where do I make the mistake?
>
> Thanks,
> Ralph
>
> --
> For contact details, please see www.ralphholz.de.
>



-- 
http://blog.ruchith.org
http://wso2.org

Reply via email to