Just a note on "history": since the beginning of the WSS4J project we always had issues with the way IBM handles JCE and JCE providers, thus I'm not really surprised to see that this classloading seems to be bound to IBM's Java VM only :-)
Best regards, Werenr Am 03.05.2011 09:02, schrieb Jeremy Tadman (JIRA): > > [ > https://issues.apache.org/jira/browse/WSS-273?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13028075#comment-13028075 > ] > > Jeremy Tadman commented on WSS-273: > ----------------------------------- > > Fun times with the classloader. > > It would seem that the classloader used to load the a JCE provider is what > will be used by that provider's implementation. This means that when you add > a JCE provider in application code and then restart the application, the > provider keeps a reference to the old application instance's classloader. > This causes some interesting side effects when doing an "instanceof" inside > the STR provider. There are two different classes called > "org.jcp.xml.dsig.internal.dom.DOMSubTreeData", one in the old classloader > and one in the new. The solution I've found to that is to remove the > STRTransform JCE provider before adding it. > > i.e. > > Security.removeProvider("STRTransform"); > WSSConfig.setAddJceProviders(false); > WSSConfig.addJceProvider("XMLDSig", > "org.jcp.xml.dsig.internal.dom.XMLDSigRI"); // Add the XMLDSig provider in > position 2 in the provider list > WSSConfig.addJceProvider("BC", > "org.bouncycastle.jce.provider.BouncyCastleProvider"); // Add the BC provider > in position 2 in the provider list (makes XMLDSig go to position 3) > WSSConfig.appendJceProvider("STRTransform", new > org.apache.ws.security.transform.STRTransformProvider()); > > I'm surprised this doesn't happen on other platforms as well. > >> 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
