To make things even more complicated, if I use our own jetty transport in a 
"main method" standalone fashion, it also works fine.    :-(

Dan



On Wednesday, June 01, 2011 4:38:32 PM Daniel Kulp wrote:
> On Wednesday, June 01, 2011 2:54:44 PM Ross Lodge wrote:
> > Ok; I can confirm it works correctly with tomcat 7 as well, at least as
> > executed through the cargo maven2 plugin.  Still fails in the latest
> > Jetty M3 version.
> 
> I think I'm going to need to defer to Colm on this one.    I've gone
> through  the WSS4J code and right before calling the line:
> 
>  signatureOk = xmlSignature.validate(context);
> 
> if I print the DOM of the header, it's completely correct exactly like what
> came in.   However, immediately after, it's completely changed.  For
> example, I turned off the encryption in your testcase so its just
> signatures.   With your system-id header.  Before:
> 
> <ns2:system-identifier
>     xmlns:ns2="http://www.example.org/schema/DoubleIt";
>    
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
> ity-utility-1.0.xsd"
> wsu:Id="Id-297842848">test-client</ns2:system-identifier>
> 
> after:
> 
> <ns2:system-identifier
>     wsu:Id="Id-297842848"
>     xmlns=""
>     xmlns:ns2="http://www.example.org/schema/DoubleIt";
>    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
>   
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
> ity-utility-1.0.xsd">test-client</ns2:system-identifier>
> 
> I'm not sure why the "" and soap namespaces are being added to it or where
> that would be occurring.   It's pretty strange.    It all works OK in
> Tomcat.  Before and after are exactly the same.
> 
> 
> Dan
> 
> > Ross
> > 
> > On Wed, Jun 1, 2011 at 10:32 AM, Daniel Kulp <[email protected]> wrote:
> > > This seems to be a problem specific to Jetty.    I'm not sure what's
> > > happening
> > > with it yet.   However, if I take the war and drop it into a "virgin"
> > > Tomcat 6
> > > install, the "mvn exec:exec" in the client dir runs fine.    Also if I
> > > run "mvn tomcat:run" in the service war and update the URL's in the
> > > client project
> > > to the new location
> > > (http://localhost:8080/service-war/services/doubleit) then
> > > it also runs fine.   Thus, it does look like it's some sort of conflict
> > > with
> > > Jetty.  I'm just not sure what yet.
> > > 
> > > Dan
> > > 
> > > On Tuesday, May 31, 2011 7:41:08 PM Ross Lodge wrote:
> > > > I've been trying to get the new 2.4.0 release to work in a project
> > > > that
> > > 
> > > I'm
> > > 
> > > > using that uses WS-Security and WS-SecurityPolicy in a WSDL-First
> > > > SOAP service, and I am getting a signature verification failure:
> > > > 
> > > > Caused by: org.apache.ws.security.WSSecurityException: The signature
> > > > or
> > > > 
> > > > > decryption was invalid; nested exception is:
> > > > > 
> > > > > org.apache.ws.security.WSSecurityException: The signature or
> > > > > decryption was invalid
> > > > > 
> > > > > at
> > > 
> > > org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(
> > > Si
> > > 
> > > > > gnatureProcessor.java:378) ~[wss4j-1.6.0.jar:1.6.0]
> > > > > 
> > > > > at
> > > 
> > > org.apache.ws.security.processor.SignatureProcessor.handleToken(Signatu
> > > re
> > > 
> > > > > Processor.java:174) ~[wss4j-1.6.0.jar:1.6.0]
> > > > > 
> > > > > at
> > > 
> > > org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurit
> > > yE
> > > 
> > > > > ngine.java:396) ~[wss4j-1.6.0.jar:1.6.0]
> > > > > 
> > > > > at
> > > 
> > > org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4J
> > > In
> > > 
> > > > > Interceptor.java:248) ~[cxf-rt-ws-security-2.4.0.jar:2.4.0]
> > > > > 
> > > > > ... 35 common frames omitted
> > > > > 
> > > > > Caused by: org.apache.ws.security.WSSecurityException: The
> > > > > signature or decryption was invalid
> > > > > 
> > > > > at
> > > 
> > > org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(
> > > Si
> > > 
> > > > > gnatureProcessor.java:375) ~[wss4j-1.6.0.jar:1.6.0]
> > > > > 
> > > > > ... 38 common frames omitted
> > > > 
> > > > It's quite possible that I'm missing something (e.g. relating to how
> > > 
> > > WSS4J
> > > 
> > > > 1.6 needs to be configured vs WSSJ 1.5, for instance), or this could
> > > > be a bug of some kind.
> > > > 
> > > > Any help would be appreciated; I've uploaded sample code that
> > > > exhibits
> > > 
> > > this
> > > 
> > > > problem to:
> > > http://software-entropy.com/wp-content/uploads/2011/05/ws-security-bug.
> > > 2. 3 .
> > > 
> > > > 4.zip
> > > 
> > > http://software-entropy.com/wp-content/uploads/2011/05/ws-security-bug.
> > > 2. 4
> > > 
> > > > .0.zip
> > > > 
> > > > Both of these are simple maven projects based on Glen Mazza's
> > > > blog-posts about how to build a WS-Security-enabled service with CXF.
> > > > You'll need
> > > 
> > > to
> > > 
> > > > do a "mvn clean install" from the parent module and then first a "mvn
> > > > jetty:run" (or deploy the war to your favorite container) in the
> > > > service-war module and, while it's running, a "mvn exec:exec" in the
> > > > client module.  For me, this works fine for the 2.3.4 version of the
> > > 
> > > code,
> > > 
> > > > but fails for the 2.4.0 version of the code; everything aside from
> > > > the
> > > 
> > > CXF
> > > 
> > > > dependency version is the same between the two zip files.
> > > > 
> > > > Thanks.
> > > > 
> > > > (yes, this is a repost, with a different and potentially
> > > > easier-to-use example; I've been unable to find a solution for
> > > > this).
> > > > 
> > > > Ross M. Lodge
> > > 
> > > --
> > > Daniel Kulp
> > > [email protected]
> > > http://dankulp.com/blog
> > > Talend - http://www.talend.com

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog
Talend - http://www.talend.com

Reply via email to