Return-Path: X-Original-To: apmail-ws-dev-archive@www.apache.org Delivered-To: apmail-ws-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9671D3315 for ; Mon, 2 May 2011 04:24:49 +0000 (UTC) Received: (qmail 732 invoked by uid 500); 2 May 2011 04:24:48 -0000 Delivered-To: apmail-ws-dev-archive@ws.apache.org Received: (qmail 324 invoked by uid 500); 2 May 2011 04:24:48 -0000 Mailing-List: contact dev-help@ws.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ws.apache.org Delivered-To: mailing list dev@ws.apache.org Received: (qmail 310 invoked by uid 99); 2 May 2011 04:24:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 May 2011 04:24:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 02 May 2011 04:24:43 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 5F2DDBCF97 for ; Mon, 2 May 2011 04:24:03 +0000 (UTC) Date: Mon, 2 May 2011 04:24:03 +0000 (UTC) From: "Jeremy Tadman (JIRA)" To: dev@ws.apache.org Message-ID: <482787095.14634.1304310243386.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <309590951.13342.1298551126011.JavaMail.tomcat@hel.zones.apache.org> Subject: [jira] [Issue Comment Edited] (WSS-273) org.apache.ws.security.transform.STRTransform causes ClassCastException when wss4j is running on IBM 1.6 JVM MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/WSS-273?page=3Dcom.atlassian.ji= ra.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D1302753= 7#comment-13027537 ]=20 Jeremy Tadman edited comment on WSS-273 at 5/2/11 4:22 AM: ----------------------------------------------------------- Actually P=C3=A4r-Johan's approach *does* solve the problem. But only as lo= ng as these calls are done before the signing process is started. Rather th= an doing that I had modified the implementation of WSSConfig.init() (naught= y, I know). This caused it to fail in the above manner, but only the first = time a token was generated. After that it worked. Perhaps WSSConfig.init() = is called a little later than it is needed? Unfortunately, there is another exception which I am getting after restarti= ng the application (without restarting the server).=20 I am investigating what the difference is between executions. [Edit: Was missing some of the stacktrace which would be relevant] [5/2/11 14:18:27:221 EST] 00000028 SystemErr R org.apache.ws.security.W= SSecurityException: Signature creation failed; nested exception is:=20 =09javax.xml.crypto.dsig.XMLSignatureException: javax.xml.crypto.dsig.Trans= formException: javax.xml.crypto.dsig.TransformException: java.lang.ClassCas= tException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with = javax.xml.crypto.OctetStreamData [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.apache.ws.secu= rity.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:530) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.apache.ws.secu= rity.saml.WSSecSignatureSAML.build(WSSecSignatureSAML.java:155) ... Spring stuff .... =09javax.xml.crypto.dsig.XMLSignatureException: javax.xml.crypto.dsig.Trans= formException: javax.xml.crypto.dsig.TransformException: java.lang.ClassCas= tException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with = javax.xml.crypto.OctetStreamData [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.springframewor= k.webflow.engine.State.enter(State.java:194) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R=20 [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.springframewor= k.webflow.engine.Flow.start(Flow.java:535) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.springframewor= k.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:366) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.springframewor= k.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:225)= =09at org.apache.ws.security.saml.WSSecSignatureSAML.computeSignature(WSSec= SignatureSAML.java:530) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.springframewor= k.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:1= 40) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.apache.ws.secu= rity.saml.WSSecSignatureSAML.build(WSSecSignatureSAML.java:155) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.springframewor= k.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:193= ) ... spring stuff ... [5/2/11 14:18:27:221 EST] 00000028 SystemErr R Caused by:=20 [5/2/11 14:18:27:221 EST] 00000028 SystemErr R javax.xml.crypto.dsig.XM= LSignatureException: javax.xml.crypto.dsig.TransformException: javax.xml.cr= ypto.dsig.TransformException: java.lang.ClassCastException: org.jcp.xml.dsi= g.internal.dom.DOMSubTreeData incompatible with javax.xml.crypto.OctetStrea= mData=09at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser= vletWrapper.java:502) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.webcont= ainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R=20 [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.webcont= ainer.webapp.WebApp.handleRequest(WebApp.java:3933) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.webcont= ainer.webapp.WebGroup.handleRequest(WebGroup.java:276) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.webcont= ainer.WebContainer.handleRequest(WebContainer.java:931) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.webcont= ainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)=09at org.jcp.x= ml.dsig.internal.dom.DOMReference.transform(Unknown Source) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.webcont= ainer.channel.WCChannelLink.ready(WCChannelLink.java:186) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.http.ch= annel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.jav= a:445) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMReference.digest(Unknown Source) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.http.ch= annel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:50= 4) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMXMLSignature.digestReference(Unknown Source) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.http.ch= annel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:301) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMXMLSignature.sign(Unknown Source) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.http.ch= annel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:275) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.apache.ws.secu= rity.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:525) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.tcp.cha= nnel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnecti= onInitialReadCallback.java:214) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09... 66 more [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.tcp.cha= nnel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialRea= dCallback.java:113) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R Caused by:=20 [5/2/11 14:18:27:221 EST] 00000028 SystemErr R javax.xml.crypto.dsig.Tr= ansformException: javax.xml.crypto.dsig.TransformException: java.lang.Class= CastException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible wi= th javax.xml.crypto.OctetStreamData=09at com.ibm.ws.tcp.channel.impl.AioRea= dCompletionListener.futureCompleted(AioReadCompletionListener.java:165) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.io.async.A= bstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R=20 [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.io.async.A= syncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.io.async.A= syncFuture.completed(AsyncFuture.java:138)=09at org.apache.ws.security.tran= sform.STRTransform.transformIt(STRTransform.java:267) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.io.async.R= esultHandler.complete(ResultHandler.java:204) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transform(STRTransform.java:122) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.io.async.R= esultHandler.runEventProcessingLoop(ResultHandler.java:775) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMTransform.transform(Unknown Source) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.io.async.R= esultHandler$2.run(ResultHandler.java:905) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09... 71 more [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at com.ibm.ws.util.Th= readPool$Worker.run(ThreadPool.java:1604) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R Caused by:=20 [5/2/11 14:18:27:221 EST] 00000028 SystemErr R javax.xml.crypto.dsig.Tr= ansformException: java.lang.ClassCastException: org.jcp.xml.dsig.internal.d= om.DOMSubTreeData incompatible with javax.xml.crypto.OctetStreamDataCaused = by: javax.xml.crypto.dsig.XMLSignatureException: javax.xml.crypto.dsig.Tran= sformException: javax.xml.crypto.dsig.TransformException: java.lang.ClassCa= stException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with= javax.xml.crypto.OctetStreamData [5/2/11 14:18:27:221 EST] 00000027 SystemErr R=20 [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transformIt(STRTransform.java:163)=09at org.jcp= .xml.dsig.internal.dom.DOMReference.transform(Unknown Source) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R =09... 73 more [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMReference.digest(Unknown Source) [5/2/11 14:18:27:221 EST] 00000028 SystemErr R Caused by:=20 [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMXMLSignature.digestReference(Unknown Source)java.lang.ClassC= astException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible wit= h javax.xml.crypto.OctetStreamData [5/2/11 14:18:27:221 EST] 00000027 SystemErr R=20 [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMXMLSignature.sign(Unknown Source) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.apache.ws.secu= rity.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:525) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09... 66 more=09at org.= apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:161= ) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R Caused by:=20 [5/2/11 14:18:27:221 EST] 00000027 SystemErr R javax.xml.crypto.dsig.Tr= ansformException: javax.xml.crypto.dsig.TransformException: java.lang.Class= CastException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible wi= th javax.xml.crypto.OctetStreamData=09... 73 more [5/2/11 14:18:27:221 EST] 00000027 SystemErr R=20 [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transformIt(STRTransform.java:267) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transform(STRTransform.java:122) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMTransform.transform(Unknown Source) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09... 71 more [5/2/11 14:18:27:221 EST] 00000027 SystemErr R Caused by: javax.xml.cry= pto.dsig.TransformException: java.lang.ClassCastException: org.jcp.xml.dsig= .internal.dom.DOMSubTreeData incompatible with javax.xml.crypto.OctetStream= Data [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transformIt(STRTransform.java:163) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09... 73 more [5/2/11 14:18:27:221 EST] 00000027 SystemErr R Caused by: java.lang.Cla= ssCastException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible = with javax.xml.crypto.OctetStreamData [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transformIt(STRTransform.java:161) [5/2/11 14:18:27:221 EST] 00000027 SystemErr R =09... 73 more was (Author: jtadman): Actually P=C3=A4r-Johan's approach *does* solve the problem. But only a= s long as these calls are done before the signing process is started. Rathe= r than doing that I had modified the implementation of WSSConfig.init() (na= ughty, I know). This caused it to fail in the above manner, but only the fi= rst time a token was generated. After that it worked. Perhaps WSSConfig.ini= t() is called a little later than it is needed? Unfortunately, there is another exception which I am getting after restarti= ng the application (without restarting the server).=20 I am investigating what the difference is between executions. [5/2/11 13:14:33:828 EST] 0000001f SystemErr R org.apache.ws.security.W= SSecurityException: Signature creation failed; nested exception is:=20 =09javax.xml.crypto.dsig.XMLSignatureException: javax.xml.crypto.dsig.Trans= formException: javax.xml.crypto.dsig.TransformException: java.lang.ClassCas= tException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with = javax.xml.crypto.OctetStreamData [5/2/11 13:14:33:828 EST] 0000001f SystemErr R =09at org.apache.ws.secu= rity.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:530) [5/2/11 13:14:33:828 EST] 0000001f SystemErr R =09at org.apache.ws.secu= rity.saml.WSSecSignatureSAML.build(WSSecSignatureSAML.java:155) ..... spring stuff.... [5/2/11 13:14:33:844 EST] 0000001f SystemErr R Caused by: javax.xml.cry= pto.dsig.XMLSignatureException: javax.xml.crypto.dsig.TransformException: j= avax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: org.= jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with javax.xml.crypto= .OctetStreamData [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMReference.transform(Unknown Source) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMReference.digest(Unknown Source) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMXMLSignature.digestReference(Unknown Source) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMXMLSignature.sign(Unknown Source) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.apache.ws.secu= rity.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:525) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09... 64 more [5/2/11 13:14:33:844 EST] 0000001f SystemErr R Caused by: javax.xml.cry= pto.dsig.TransformException: javax.xml.crypto.dsig.TransformException: java= .lang.ClassCastException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData inco= mpatible with javax.xml.crypto.OctetStreamData [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transformIt(STRTransform.java:267) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transform(STRTransform.java:122) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.jcp.xml.dsig.i= nternal.dom.DOMTransform.transform(Unknown Source) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09... 69 more [5/2/11 13:14:33:844 EST] 0000001f SystemErr R Caused by: javax.xml.cry= pto.dsig.TransformException: java.lang.ClassCastException: org.jcp.xml.dsig= .internal.dom.DOMSubTreeData incompatible with javax.xml.crypto.OctetStream= Data [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transformIt(STRTransform.java:163) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09... 71 more [5/2/11 13:14:33:844 EST] 0000001f SystemErr R Caused by: java.lang.Cla= ssCastException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible = with javax.xml.crypto.OctetStreamData [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09at org.apache.ws.secu= rity.transform.STRTransform.transformIt(STRTransform.java:161) [5/2/11 13:14:33:844 EST] 0000001f SystemErr R =09... 71 more =20 > org.apache.ws.security.transform.STRTransform causes ClassCastException w= hen wss4j is running on IBM 1.6 JVM=20 > -------------------------------------------------------------------------= ------------------------------------ > > Key: WSS-273 > URL: https://issues.apache.org/jira/browse/WSS-273 > Project: WSS4J > Issue Type: Bug > Components: WSS4J Core > Affects Versions: 1.6 > Environment: Windows XP, IBM 1.6 JVM > Reporter: P=C3=A4r-Johan Lif > Assignee: Colm O hEigeartaigh > > I have tried to use wss4j1.6 (alpha version) on IBM's 1.6 JVM. It works f= ine, except for when we are getting a SOAP-message where an STRTransform is= used. > Then we get the following exception below. (I should mention that it wor= ks on SUN's 1.6 JVM). > java.lang.ClassCastException: org.apache.ws.security.transform.STRTransfo= rm incompatible with com.ibm.xml.crypto.dsig.dom.transform.TransformBase > =09at com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalTransform(Unmars= halling.java:446) > =09at com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalTransforms(Unmar= shalling.java:422) > =09at com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalReference(Unmars= halling.java:358) > =09at com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalSignedInfo(Unmar= shalling.java:272) > =09at com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalSignature(Unmars= halling.java:196) > =09at com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshal(Unmarshalling.j= ava:96) > =09at com.ibm.xml.crypto.dsig.dom.FactoryImpl.unmarshalXMLSignature(Facto= ryImpl.java:217) > =09at org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignat= ure(SignatureProcessor.java:323) > =09at org.apache.ws.security.processor.SignatureProcessor.handleToken(Sig= natureProcessor.java:165) > =09at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSec= urityEngine.java:303) > =09at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSec= urityEngine.java:231) > =09at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSec= urityEngine.java:185) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org For additional commands, e-mail: dev-help@ws.apache.org