Java camel应用程序中的cxf bouncycastle冲突

Java camel应用程序中的cxf bouncycastle冲突,java,apache-camel,cxf,bouncycastle,Java,Apache Camel,Cxf,Bouncycastle,我正在应用程序中使用camel和cxf。有一个新模块具有bouncycastle依赖关系org.bouncycastle:bcprov-jdk15on:jar:1.53。添加此模块后,我开始在运行时获取异常: 21-Dec-2015 12:02:06.194 INFO [Camel (camel-1) thread #17 - seda://sp-tsm:handleEndServiceChangeNotification] org.apache.catalina.loader.WebappCl

我正在应用程序中使用camel和cxf。有一个新模块具有bouncycastle依赖关系
org.bouncycastle:bcprov-jdk15on:jar:1.53
。添加此模块后,我开始在运行时获取异常:

21-Dec-2015 12:02:06.194 INFO [Camel (camel-1) thread #17 - seda://sp-tsm:handleEndServiceChangeNotification] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$AlgParams]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
java.lang.IllegalStateException: Illegal access: this web application instance has been stopped already. Could not load [org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$AlgParams]. The following stack trace is thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access.
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1335)
    at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1321)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1203)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
    at java.security.Provider$Service.getImplClass(Provider.java:1636)
    at java.security.Provider$Service.newInstance(Provider.java:1592)
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:236)
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:164)
    at java.security.Security.getImpl(Security.java:695)
    at java.security.AlgorithmParameters.getInstance(AlgorithmParameters.java:146)
    at sun.security.x509.AlgorithmId.decodeParams(AlgorithmId.java:121)
    at sun.security.x509.AlgorithmId.<init>(AlgorithmId.java:114)
    at sun.security.x509.AlgorithmId.parse(AlgorithmId.java:372)
    at sun.security.pkcs.EncryptedPrivateKeyInfo.<init>(EncryptedPrivateKeyInfo.java:80)
    at sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:321)
    at java.security.KeyStore.getKey(KeyStore.java:1023)
    at org.apache.wss4j.common.crypto.Merlin.getPrivateKey(Merlin.java:766)
    at org.apache.wss4j.dom.message.WSSecSignature.computeSignature(WSSecSignature.java:555)
    at org.apache.wss4j.dom.action.SignatureAction.execute(SignatureAction.java:152)
    at org.apache.wss4j.dom.handler.WSHandler.doSenderAction(WSHandler.java:237)
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor.access$200(WSS4JOutCustomInterceptor.java:56)
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$WSS4JOutInterceptorInternal.handleMessageInternal(WSS4JOutCustomInterceptor.java:284)
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutCustomInterceptor.java:156)
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutCustomInterceptor.java:143)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:516)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:425)
    at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:153)
    at org.apache.camel.impl.SynchronousDelegateProducer.process(SynchronousDelegateProducer.java:62)
    at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:129)
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
    at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:448)
    at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
    at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
    at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:291)
    at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:200)
    at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:147)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
21-Dec-2015 12:02:06.194信息[骆驼(Camel-1)线#17-seda://sp-tsm:handleEndServiceChangeNotification]org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading非法访问:此web应用程序实例已停止。无法加载[org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$AlgParams]。抛出以下堆栈跟踪是为了调试以及尝试终止导致非法访问的线程。
java.lang.IllegalStateException:非法访问:此web应用程序实例已停止。无法加载[org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$AlgParams]。抛出以下堆栈跟踪是为了调试以及尝试终止导致非法访问的线程。
位于org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1335)
位于org.apache.catalina.loader.WebappClassLoaderBase.checkStateForClassLoading(WebappClassLoaderBase.java:1321)
位于org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1203)
位于org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
位于java.security.Provider$Service.getImplClass(Provider.java:1636)
位于java.security.Provider$Service.newInstance(Provider.java:1592)
位于sun.security.jca.GetInstance.GetInstance(GetInstance.java:236)
位于sun.security.jca.GetInstance.GetInstance(GetInstance.java:164)
位于java.security.security.getImpl(security.java:695)
位于java.security.AlgorithmParameters.getInstance(AlgorithmParameters.java:146)
位于sun.security.x509.AlgorithmId.decodeParams(AlgorithmId.java:121)
位于sun.security.x509.AlgorithmId.(AlgorithmId.java:114)
位于sun.security.x509.AlgorithmId.parse(AlgorithmId.java:372)
位于sun.security.pkcs.EncryptedPrivateKeyInfo。(EncryptedPrivateKeyInfo.java:80)
位于sun.security.pkcs12.PKCS12KeyStore.engineGetKey(PKCS12KeyStore.java:321)
位于java.security.KeyStore.getKey(KeyStore.java:1023)
位于org.apache.wss4j.common.crypto.Merlin.getPrivateKey(Merlin.java:766)
位于org.apache.wss4j.dom.message.WSSecSignature.computeSignature(WSSecSignature.java:555)
位于org.apache.wss4j.dom.action.SignatureAction.execute(SignatureAction.java:152)
位于org.apache.wss4j.dom.handler.WSHandler.doSenderAction(WSHandler.java:237)
在com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor.access$200(WSS4JOutCustomInterceptor.java:56)
位于com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$wss4jouttinterceptorinternal.handleMessageInternal(WSS4JOutCustomInterceptor.java:284)
位于com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$wss4jouttinterceptorinternal.handleMessage(WSS4JOutCustomInterceptor.java:156)
位于com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$wss4jouttinterceptorinternal.handleMessage(WSS4JOutCustomInterceptor.java:143)
位于org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
位于org.apache.cxf.endpoint.clientmpl.doInvoke(clientmpl.java:516)
位于org.apache.cxf.endpoint.clientmpl.invoke(clientmpl.java:425)
位于org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:153)
位于org.apache.camel.impl.SynchronousDelegateProducer.process(SynchronousDelegateProducer.java:62)
位于org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
位于org.apache.camel.processor.SendProcessor.process(SendProcessor.java:129)
位于org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
位于org.apache.camel.processor.RedeliveryRorHandler.process(RedeliveryRorHandler.java:448)
位于org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
位于org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
位于org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
位于org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
位于org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:291)
位于org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:200)
位于org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:147)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
运行(Thread.java:745)

10:21:53.919[骆驼(Camel-1)线#7-seda://sp-tsm:checkGlobalEligibility]错误c.t.w.c.r.例外处理路由-交换[ExchangePattern:InOut,BodyType:org.globalplatform.namespaces.systems_messaging.\u 2_1.CheckGlobalEligibilityRequestType,Body:org.globalplatform.namespaces.systems_messaging.\u 2_1。CheckGlobalEligibilityRequestType@29f83af2,CaughtExceptionType:org.apache.cxf.binding.soap.SoapFault,
CaughtExceptionMessage:安全处理失败。,
StackTrace:org.apache.cxf.binding.soap.SoapFault:安全处理失败。
位于com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$wss4jouttinterceptorinternal.handleMessageInternal(WSS4JOutCustomInterceptor.java:292)
位于com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$wss4jouttinterceptorinternal.handleMessage(WSS4JOutCustomInterceptor.java:156)
位于com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$wss4jouttinterceptorinternal.handleMessage(WSS4JOutCustomInterceptor.java:143)
在org.apache.cxf.phase.phaseInterceptor上
10:21:53.919 [Camel (camel-1) thread #7 - seda://sp-tsm:checkGlobalEligibility] ERROR c.t.w.c.r.ExceptionHandlingRoutes - Exchange[ExchangePattern: InOut, BodyType: org.globalplatform.namespaces.systems_messaging._2_1.CheckGlobalEligibilityRequestType, Body: org.globalplatform.namespaces.systems_messaging._2_1.CheckGlobalEligibilityRequestType@29f83af2, CaughtExceptionType: org.apache.cxf.binding.soap.SoapFault, 
CaughtExceptionMessage: Security processing failed., 
StackTrace: org.apache.cxf.binding.soap.SoapFault: Security processing failed.        
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$WSS4JOutInterceptorInternal.handleMessageInternal(WSS4JOutCustomInterceptor.java:292)
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutCustomInterceptor.java:156)
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$WSS4JOutInterceptorInternal.handleMessage(WSS4JOutCustomInterceptor.java:143)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:516)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:418)
    at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:116)
    at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:129)
    at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
    at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:448)
    at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
    at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190)
    at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:291)
    at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:200)
    at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:147)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.wss4j.common.ext.WSSecurityException: Cannot create Crypto class org.apache.wss4j.common.crypto.Merlin
Original Exception was org.apache.wss4j.common.ext.WSSecurityException: Failed to load credentials.
Original Exception was java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: pad block corrupted
    at org.apache.wss4j.common.crypto.CryptoFactory.getInstance(CryptoFactory.java:134)
    at org.apache.wss4j.common.crypto.CryptoFactory.getInstance(CryptoFactory.java:203)
    at org.apache.cxf.ws.security.wss4j.WSS4JUtils.loadCryptoFromPropertiesFile(WSS4JUtils.java:350)
    at org.apache.cxf.ws.security.wss4j.AbstractWSS4JInterceptor.loadCryptoFromPropertiesFile(AbstractWSS4JInterceptor.java:207)
    at org.apache.wss4j.dom.handler.WSHandler.loadCrypto(WSHandler.java:1096)
    at org.apache.wss4j.dom.handler.WSHandler.loadSignatureCrypto(WSHandler.java:990)
    at org.apache.wss4j.dom.handler.WSHandler.doSenderAction(WSHandler.java:142)
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor.access$200(WSS4JOutCustomInterceptor.java:56)
    at com.toro.wm.protocol.gpm.ws.interceptor.WSS4JOutCustomInterceptor$WSS4JOutInterceptorInternal.handleMessageInternal(WSS4JOutCustomInterceptor.java:284)
    ... 19 more
Caused by: org.apache.wss4j.common.ext.WSSecurityException: Failed to load credentials.
Original Exception was java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: pad block corrupted
    at org.apache.wss4j.common.crypto.Merlin.load(Merlin.java:409)
    at org.apache.wss4j.common.crypto.Merlin.loadProperties(Merlin.java:225)
    at org.apache.wss4j.common.crypto.Merlin.<init>(Merlin.java:161)
    at org.apache.wss4j.common.crypto.CryptoFactory.getInstance(CryptoFactory.java:129)
    ... 27 more
Caused by: java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: pad block corrupted
    at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1978)
    at java.security.KeyStore.load(KeyStore.java:1445)
    at org.apache.wss4j.common.crypto.Merlin.load(Merlin.java:403)
    ... 30 more
Caused by: javax.crypto.BadPaddingException: pad block corrupted
    at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher.doFinal(Unknown Source)
    at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineDoFinal(Unknown Source)
    at javax.crypto.Cipher.doFinal(Cipher.java:2165)
    at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1969)
    ... 32 more