myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Concini (JIRA)" <...@myfaces.apache.org>
Subject [jira] Issue Comment Edited: (MYFACES-1838) javax.crypto.BadPaddingException: Given final block not properly padded
Date Wed, 06 Aug 2008 13:20:44 GMT

    [ https://issues.apache.org/jira/browse/MYFACES-1838?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12620246#action_12620246
] 

mconcini edited comment on MYFACES-1838 at 8/6/08 6:20 AM:
------------------------------------------------------------------

For your todo section in your patch, you could probably do something like this to filter out
only the BadPaddingExceptions and then rethrow anything else:

if (e.getCause().getClass().equals((new javax.crypto.BadPaddingException()).getClass())){
                return null;
            }else{
                throw e;
            }

There's probably a more elegant way of doing that, but this does work.  I had been testing
out a similar fix in my environment for the same problem.  

I agree it would be nice if myfaces would handle the ViewExpired and create a new view after
logging a message, but at least with your fix the error thrown will more likely lead the user
to the actual problem. 



      was (Author: mconcini):
    For your todo section in your patch, you could probably do something like this:
  
> javax.crypto.BadPaddingException: Given final block not properly padded
> -----------------------------------------------------------------------
>
>                 Key: MYFACES-1838
>                 URL: https://issues.apache.org/jira/browse/MYFACES-1838
>             Project: MyFaces Core
>          Issue Type: Bug
>    Affects Versions: 1.2.2
>            Reporter: Guy Bashan
>         Attachments: MYFACES-1838.patch
>
>
> I keep getting this exception from time to time when moving between pages:
> javax.faces.FacesException: javax.crypto.BadPaddingException: Given final block not properly
padded
> 	at org.apache.myfaces.shared_impl.util.StateUtils.symmetric(StateUtils.java:373)
> 	at org.apache.myfaces.shared_impl.util.StateUtils.symmetric(StateUtils.java:411)
> 	at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:291)
> 	at org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:240)
> 	at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getSavedState(HtmlResponseStateManager.java:184)
> 	at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getState(HtmlResponseStateManager.java:136)
> 	at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:289)
> 	at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:505)
> 	at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:85)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
> 	at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at com.vdo.admin.model.persistence.OpenSessionInViewFilterIC.doFilterInternal(OpenSessionInViewFilterIC.java:155)
> 	at com.vdo.admin.model.persistence.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:61)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
> 	at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
> 	at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
> 	at com.sun.crypto.provider.DESCipher.engineDoFinal(DashoA13*..)
> 	at javax.crypto.Cipher.doFinal(DashoA13*..)
> 	at org.apache.myfaces.shared_impl.util.StateUtils.symmetric(StateUtils.java:369)
> 	... 30 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message