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

Jeremy Tadman edited comment on WSS-273 at 5/2/11 4:22 AM:
-----------------------------------------------------------

Actually Pär-Johan's approach *does* solve the problem. But only as long as 
these calls are done before the signing process is started. Rather than doing 
that I had modified the implementation of WSSConfig.init() (naughty, 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 restarting 
the application (without restarting the server). 

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.WSSecurityException: Signature creation failed; nested 
exception is: 
        javax.xml.crypto.dsig.XMLSignatureException: 
javax.xml.crypto.dsig.TransformException: 
javax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamData
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.apache.ws.security.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:530)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.apache.ws.security.saml.WSSecSignatureSAML.build(WSSecSignatureSAML.java:155)
...  Spring stuff ....
        javax.xml.crypto.dsig.XMLSignatureException: 
javax.xml.crypto.dsig.TransformException: 
javax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamData
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.springframework.webflow.engine.State.enter(State.java:194)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R 
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.springframework.webflow.engine.Flow.start(Flow.java:535)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:366)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:225)
  at 
org.apache.ws.security.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:530)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:140)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.apache.ws.security.saml.WSSecSignatureSAML.build(WSSecSignatureSAML.java:155)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:193)
... spring stuff ...
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R Caused by: 
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R 
javax.xml.crypto.dsig.XMLSignatureException: 
javax.xml.crypto.dsig.TransformException: 
javax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamData       at 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R 
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3933)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)  
     at org.jcp.xml.dsig.internal.dom.DOMReference.transform(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:445)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMReference.digest(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:504)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMXMLSignature.digestReference(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:301)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sign(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:275)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.apache.ws.security.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:525)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      ... 66 more
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R Caused by: 
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R 
javax.xml.crypto.dsig.TransformException: 
javax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamData    at 
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R 
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:267)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.apache.ws.security.transform.STRTransform.transform(STRTransform.java:122)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMTransform.transform(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      ... 71 more
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R Caused by: 
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R 
javax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamDataCaused by: 
javax.xml.crypto.dsig.XMLSignatureException: 
javax.xml.crypto.dsig.TransformException: 
javax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamData
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R 
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:163)
     at org.jcp.xml.dsig.internal.dom.DOMReference.transform(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R      ... 73 more
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMReference.digest(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000028 SystemErr     R Caused by: 
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMXMLSignature.digestReference(Unknown 
Source)java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamData
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R 
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sign(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.apache.ws.security.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:525)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      ... 66 more     at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:161)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R Caused by: 
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R 
javax.xml.crypto.dsig.TransformException: 
javax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamData    ... 73 more
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R 
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:267)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.apache.ws.security.transform.STRTransform.transform(STRTransform.java:122)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMTransform.transform(Unknown Source)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      ... 71 more
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R Caused by: 
javax.xml.crypto.dsig.TransformException: java.lang.ClassCastException: 
org.jcp.xml.dsig.internal.dom.DOMSubTreeData incompatible with 
javax.xml.crypto.OctetStreamData
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:163)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      ... 73 more
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R Caused by: 
java.lang.ClassCastException: org.jcp.xml.dsig.internal.dom.DOMSubTreeData 
incompatible with javax.xml.crypto.OctetStreamData
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:161)
[5/2/11 14:18:27:221 EST] 00000027 SystemErr     R      ... 73 more


      was (Author: jtadman):
    Actually Pär-Johan's approach *does* solve the problem. But only as long as 
these calls are done before the signing process is started. Rather than doing 
that I had modified the implementation of WSSConfig.init() (naughty, 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 restarting 
the application (without restarting the server). 

I am investigating what the difference is between executions.

[5/2/11 13:14:33:828 EST] 0000001f SystemErr     R 
org.apache.ws.security.WSSecurityException: Signature creation failed; nested 
exception is: 
        javax.xml.crypto.dsig.XMLSignatureException: 
javax.xml.crypto.dsig.TransformException: 
javax.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:828 EST] 0000001f SystemErr     R      at 
org.apache.ws.security.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:530)
[5/2/11 13:14:33:828 EST] 0000001f SystemErr     R      at 
org.apache.ws.security.saml.WSSecSignatureSAML.build(WSSecSignatureSAML.java:155)

..... spring stuff....

[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R Caused by: 
javax.xml.crypto.dsig.XMLSignatureException: 
javax.xml.crypto.dsig.TransformException: 
javax.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      at 
org.jcp.xml.dsig.internal.dom.DOMReference.transform(Unknown Source)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMReference.digest(Unknown Source)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMXMLSignature.digestReference(Unknown Source)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sign(Unknown Source)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      at 
org.apache.ws.security.saml.WSSecSignatureSAML.computeSignature(WSSecSignatureSAML.java:525)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      ... 64 more
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R Caused by: 
javax.xml.crypto.dsig.TransformException: 
javax.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      at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:267)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      at 
org.apache.ws.security.transform.STRTransform.transform(STRTransform.java:122)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      at 
org.jcp.xml.dsig.internal.dom.DOMTransform.transform(Unknown Source)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      ... 69 more
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R Caused by: 
javax.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      at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:163)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      ... 71 more
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R Caused by: 
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      at 
org.apache.ws.security.transform.STRTransform.transformIt(STRTransform.java:161)
[5/2/11 13:14:33:844 EST] 0000001f SystemErr     R      ... 71 more
  
> org.apache.ws.security.transform.STRTransform causes ClassCastException when 
> wss4j is running on IBM 1.6 JVM 
> -------------------------------------------------------------------------------------------------------------
>
>                 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är-Johan Lif
>            Assignee: Colm O hEigeartaigh
>
> I have tried to use wss4j1.6 (alpha version) on IBM's 1.6 JVM. It works fine, 
> 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 works 
> on SUN's 1.6 JVM).
> java.lang.ClassCastException: org.apache.ws.security.transform.STRTransform 
> incompatible with com.ibm.xml.crypto.dsig.dom.transform.TransformBase
>       at 
> com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalTransform(Unmarshalling.java:446)
>       at 
> com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalTransforms(Unmarshalling.java:422)
>       at 
> com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalReference(Unmarshalling.java:358)
>       at 
> com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalSignedInfo(Unmarshalling.java:272)
>       at 
> com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshalSignature(Unmarshalling.java:196)
>       at 
> com.ibm.xml.crypto.dsig.dom.Unmarshalling.unmarshal(Unmarshalling.java:96)
>       at 
> com.ibm.xml.crypto.dsig.dom.FactoryImpl.unmarshalXMLSignature(FactoryImpl.java:217)
>       at 
> org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:323)
>       at 
> org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:165)
>       at 
> org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:303)
>       at 
> org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:231)
>       at 
> org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to