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

Reply via email to