[ http://www.stripesframework.org/jira/browse/STS-113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ben Gunter closed STS-113. -------------------------- > Fieldspresent value has encoding/decoding problems (Could not decrypt value) > ---------------------------------------------------------------------------- > > Key: STS-113 > URL: http://www.stripesframework.org/jira/browse/STS-113 > Project: Stripes > Issue Type: Bug > Components: Tag Library > Environment: Stripes 1.2 > Reporter: Jeppe Cramon > Assignee: Tim Fennell > Priority: Critical > Fix For: Release 1.3 > > > I'm getting a "net.sourceforge.stripes.exception.StripesRuntimeException: > Could not decrypt value" error on and off and it's getting quite annoying, so > I tried to track down the cause of it. Fiddler is a nice comanion when > tracking down HTTP related problems btw. > The problem is that the FieldsPresent encoded value contains a character, > plus (+), which gets translated into a space when it hits the Servlet. > Example values: > ---------------------- > HTML hiddenfield value: gH8zHjWR4awbL3ivTdmiz//LRje7LyZJCPuEksC+ZSg= > HTTP POST value: gH8zHjWR4awbL3ivTdmiz//LRje7LyZJCPuEksC+ZSg%3D > JAVA value: gH8zHjWR4awbL3ivTdmiz//LRje7LyZJCPuEksC > ZSg= > If you use BASE64 encoding you could avoid this problem. > /Jeppe > Complete stacktrace from the error: > net.sourceforge.stripes.exception.StripesRuntimeException: Could not decrypt > value. > at net.sourceforge.stripes.util.CryptoUtil.decrypt(CryptoUtil.java:95) > at > net.sourceforge.stripes.controller.OgnlActionBeanPropertyBinder.getFieldsPresentInfo(OgnlActionBeanPropertyBinder.java:330) > at > net.sourceforge.stripes.controller.OgnlActionBeanPropertyBinder.validateRequiredFields(OgnlActionBeanPropertyBinder.java:510) > at > net.sourceforge.stripes.controller.OgnlActionBeanPropertyBinder.bind(OgnlActionBeanPropertyBinder.java:188) > at > net.sourceforge.stripes.controller.DispatcherServlet.bindValues(DispatcherServlet.java:206) > at > net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:128) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > net.sourceforge.stripes.exception.ExceptionHandlerFilter.doFilter(ExceptionHandlerFilter.java:66) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:195) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116) > at > org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:79) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:143) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:138) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:174) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:207) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173) > at > org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:868) > at > org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:663) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > at java.lang.Thread.run(Thread.java:595) > Caused by: javax.crypto.IllegalBlockSizeException: Input length must be > multiple of 16 when decrypting with padded cipher > at com.sun.crypto.provider.SunJCE_h.b(DashoA12275) > at com.sun.crypto.provider.SunJCE_h.b(DashoA12275) > at com.sun.crypto.provider.AESCipher.engineDoFinal(DashoA12275) > at javax.crypto.Cipher.doFinal(DashoA12275) > at net.sourceforge.stripes.util.CryptoUtil.decrypt(CryptoUtil.java:90) > ... 51 more -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ Learn how Oracle Real Application Clusters (RAC) One Node allows customers to consolidate database storage, standardize their database environment, and, should the need arise, upgrade to a full multi-node Oracle RAC database without downtime or disruption http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ Stripes-development mailing list Stripes-development@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/stripes-development