this: setRootRequestMapper(new CryptoMapper(getRootRequestMapper(), this));
should be the last thing you do in your application#init() -igor On Sat, Nov 12, 2011 at 6:45 AM, Phill <[email protected]> wrote: > Hi, > I'm migrating a Wicket 1.4 app that uses CryptedUrlWebRequestCodingStrategy > to 1.5.2 and I'm having some issues: > > In my Application init() before I mount any pages I've got: > getSecuritySettings().setCryptFactory(new KeyInSessionSunJceCryptFactory()); > setRootRequestMapper(new CryptoMapper(getRootRequestMapper(), this)); > > Any non-wicket URLs in my markup, for example image tags <img > src="/images/myimg.jpg" …./> and also any references added in > WebPage.renderHead() produce the exception below. The page displays fine > including correctly linked images and stylesheets, but the exception is > thrown. > > @Override > public void renderHead(IHeaderResponse response) { > super.renderHead(response); > response.renderCSSReference("css/style.css"); > } > > > ERROR - AbstractCrypt - Error decoding text: css > java.lang.RuntimeException: Unable to decrypt the text 'r?' > at > org.apache.wicket.util.crypt.AbstractCrypt.decryptByteArray(AbstractCrypt.java:150) > at > org.apache.wicket.util.crypt.AbstractCrypt.decryptUrlSafe(AbstractCrypt.java:66) > at > org.apache.wicket.request.mapper.CryptoMapper.decryptUrl(CryptoMapper.java:159) > at > org.apache.wicket.request.mapper.CryptoMapper.mapRequest(CryptoMapper.java:102) > at > org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(RequestCycle.java:181) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:206) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1326) > ..snip > Caused by: javax.crypto.IllegalBlockSizeException: Input length must be > multiple of 8 when decrypting with padded cipher > at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) > at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) > at com.sun.crypto.provider.SunJCE_ab.b(DashoA13*..) > at > com.sun.crypto.provider.PBEWithMD5AndDESCipher.engineDoFinal(DashoA13*..) > at javax.crypto.Cipher.doFinal(DashoA13*..) > at org.apache.wicket.util.crypt.SunJceCrypt.crypt(SunJceCrypt.java:94) > at > org.apache.wicket.util.crypt.AbstractCrypt.decryptByteArray(AbstractCrypt.java:146) > ... 32 more > ERROR - CryptoMapper - Error decrypting URL > java.lang.IllegalArgumentException: Argument 'url' may not be null. > at org.apache.wicket.util.lang.Args.notNull(Args.java:41) > at org.apache.wicket.request.Url.parse(Url.java:127) > at > org.apache.wicket.request.mapper.CryptoMapper.decryptUrl(CryptoMapper.java:160) > at > org.apache.wicket.request.mapper.CryptoMapper.mapRequest(CryptoMapper.java:102) > at > org.apache.wicket.request.cycle.RequestCycle.resolveRequestHandler(RequestCycle.java:181) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:206) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:280) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:162) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:218) > ..snip > > How can I avoid these errors? > > Thanks > Phill > > > --- > Lead Seeker - Lead Generation Done Right > http://www.leadseeker.co.uk > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
