Hi, I have a webapp where the user can upload a PFX file to digitally sign PDF files. After upgrading from 8.5.11(TomEE 7.0.3) to 8.5.23(TomEE 7.0.5-SNAPSHOT) I'm getting this exception:
java.security.UnrecoverableKeyException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: pad block corrupted First I tough it was something related to the upload process, but even after pointing to a local PFX file and hardcoding the password I still get this exception on 8.5.23. ks = KeyStore.getInstance(KeyStore.getDefaultType()); ks.load(new FileInputStream("/home/fjaekel/Desktop/anima.pfx"), "anima".toCharArray()); Tested with OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode) and Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode). Any ideias? Thanks *Stacktrace:* java.io.IOException: keystore password was incorrect at sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2015) at sun.security.provider.KeyStoreDelegator.engineLoad( KeyStoreDelegator.java:238) at sun.security.provider.JavaKeyStore$DualFormatJKS. engineLoad(JavaKeyStore.java:70) at java.security.KeyStore.load(KeyStore.java:1445) at br.com.pacsweb.util.SignatureInterop.<init>(SignatureInterop.java:38) at br.com.pacsweb.service.AssinaturaLaudoService.persist( AssinaturaLaudoService.java:40) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.openejb.core.interceptor.ReflectionInvocationContext$ Invocation.invoke(ReflectionInvocationContext.java:205) at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( ReflectionInvocationContext.java:186) at org.apache.openejb.monitoring.StatsInterceptor.record( StatsInterceptor.java:181) at org.apache.openejb.monitoring.StatsInterceptor.invoke( StatsInterceptor.java:100) at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.openejb.core.interceptor.ReflectionInvocationContext$ Invocation.invoke(ReflectionInvocationContext.java:205) at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( ReflectionInvocationContext.java:186) at org.apache.openejb.core.interceptor.InterceptorStack. invoke(InterceptorStack.java:85) at org.apache.openejb.core.stateless.StatelessContainer._ invoke(StatelessContainer.java:252) at org.apache.openejb.core.stateless.StatelessContainer. invoke(StatelessContainer.java:212) at org.apache.openejb.core.ivm.EjbObjectProxyHandler. synchronizedBusinessMethod(EjbObjectProxyHandler.java:265) at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod( EjbObjectProxyHandler.java:260) at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke( EjbObjectProxyHandler.java:89) at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke( BaseEjbProxyHandler.java:347) at br.com.pacsweb.service.AssinaturaLaudoService$$ LocalBeanProxy.persist(br/com/spdata/pacsweb/service/ AssinaturaLaudoService.java) at br.com.pacsweb.page.ImpressaoLaudoController.assinar( ImpressaoLaudoController.java:156) at br.com.pacsweb.page.ImpressaoLaudoController$$ OwbNormalScopeProxy0.assinar(br/com/spdata/pacsweb/page/ ImpressaoLaudoController.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.el.parser.AstValue.invoke(AstValue.java:247) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:267) at org.apache.webbeans.el22.WrappedMethodExpression.invoke( WrappedMethodExpression.java:52) at org.apache.myfaces.view.facelets.el.ContextAwareTagMethodExpressio n.invoke(ContextAwareTagMethodExpression.java:96) at org.apache.myfaces.application.ActionListenerImpl.processAction( ActionListenerImpl.java:74) at javax.faces.component.UICommand.broadcast(UICommand.java:120) at javax.faces.component.UIViewRoot._broadcastAll(UIViewRoot.java:1174) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:365) at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1660) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:864) at org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute( InvokeApplicationExecutor.java:42) at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase( LifecycleImpl.java:196) at org.apache.myfaces.lifecycle.LifecycleImpl.execute( LifecycleImpl.java:143) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166) at org.omnifaces.filter.CacheControlFilter.doFilter( CacheControlFilter.java:239) at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166) at org.apache.openejb.server.httpd.EEFilter.doFilter(EEFilter.java:65) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166) at br.com.pacsweb.filter.LoginFilter.doFilter(LoginFilter.java:85) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166) at org.omnifaces.filter.CharacterEncodingFilter.doFilter( CharacterEncodingFilter.java:124) at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:96) at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44) at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:478) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:80) at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke( OpenEJBSecurityListener.java:97) at org.apache.catalina.valves.AbstractAccessLogValve.invoke( AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:799) at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor. doRun(NioEndpoint.java:1457) at org.apache.tomcat.util.net.SocketProcessorBase.run( SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker( ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.security.UnrecoverableKeyException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: pad block corrupted ... 85 more