JanssenProject / JanssenProject/jans
fix(jans-cli): error in redis server passwd decryption
@yuriyz is already working on this.
Since Aug 1, 2026.
- Dominant language
- Java
- Stars
- 648
- Forks
- 174
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 110
Description
**Describe the bug**
error in redis server passwd decryption
**To Reproduce**
Steps to reproduce the behavior:
1. install jans
2. configure redis server for cachee configuration
3. add usernam / passwd of redis server
4. See error
**Expected behavior**
should not get error for decryption
**Screenshots**
If applicable, add screenshots to help explain your problem.
```
2026-08-01 09:44:11,522 ERROR [qtp660879561-20] [io.jans.service.cache.RedisProvider] (RedisProvider.java:81) - Error during redis password decryption
io.jans.util.security.StringEncrypter$EncryptionException: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
at io.jans.util.security.StringEncrypter.decrypt(StringEncrypter.java:216)
at io.jans.util.security.StringEncrypter.decrypt(StringEncrypter.java:235)
at io.jans.util.security.StringEncrypter.decrypt(StringEncrypter.java:229)
at io.jans.util.security.StringEncrypter$Proxy$_$$_WeldClientProxy.decrypt(Unknown Source)
at io.jans.service.cache.RedisProvider.decryptPassword(RedisProvider.java:77)
at io.jans.service.cache.RedisProvider.create(RedisProvider.java:49)
at io.jans.service.cache.RedisProvider$Proxy$_$$_WeldClientProxy.create(Unknown Source)
at io.jans.service.cache.CacheProviderFactory.getCacheProvider(CacheProviderFactory.java:73)
at io.jans.service.cache.CacheProviderFactory.getCacheProvider(CacheProviderFactory.java:41)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:85)
at org.jboss.weld.injection.producer.ProducerMethodProducer.produce(ProducerMethodProducer.java:103)
at org.jboss.weld.injection.producer.AbstractMemberProducer.produce(AbstractMemberProducer.java:161)
at org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:180)
at org.jboss.weld.contexts.AbstractContext.get(AbstractContext.java:96)
at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:100)
at org.jboss.weld.bean.ContextualInstanceStrategy$ApplicationScopedContextualInstanceStrategy.get(ContextualInstanceStrategy.java:140)
at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:102)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:131)
at io.jans.service.cache.CacheProvider$Proxy$_$$_WeldClientProxy.getCacheConfiguration(Unknown Source)
at io.jans.service.BaseCacheService.addKeyPrefix(BaseCacheService.java:49)
at io.jans.service.BaseCacheService.get(BaseCacheService.java:39)
at io.jans.service.CacheService$Proxy$_$$_WeldClientProxy.get(Unknown Source)
at io.jans.as.server.service.GrantService.getGrantByCode(GrantService.java:239)
at io.jans.as.server.service.GrantService$Proxy$_$$_WeldClientProxy.getGrantByCode(Unknown Source)
at io.jans.as.server.model.common.AuthorizationGrantList.getAuthorizationGrantByAccessToken(AuthorizationGrantList.java:255)
at io.jans.as.server.service.token.TokenService.getAuthorizationGrant(TokenService.java:106)
at io.jans.as.server.service.token.TokenService.getBearerAuthorizationGrant(TokenService.java:94)
at io.jans.as.server.introspection.ws.rs.IntrospectionWebService.getAuthorizationGrant(IntrospectionWebService.java:307)
at io.jans.as.server.introspection.ws.rs.IntrospectionWebService.validateAuthorization(IntrospectionWebService.java:127)
at io.jans.as.server.introspection.ws.rs.IntrospectionWebService.introspect(IntrospectionWebService.java:175)
at io.jans.as.server.introspection.ws.rs.IntrospectionWebService.introspectPost(IntrospectionWebService.java:111)
at io.jans.as.server.introspection.ws.rs.IntrospectionWebService$Proxy$_$$_WeldClientProxy.introspectPost(Unknown Source)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:154)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:118)
at org.jboss.resteasy.core.ResourceMethodInvoker.internalInvokeOnTarget(ResourceMethodInvoker.java:560)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTargetAfterFilter(ResourceMethodInvoker.java:452)
at org.jboss.resteasy.core.ResourceMethodInvoker.lambda$invokeOnTarget$2(ResourceMethodInvoker.java:413)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:415)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:378)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:356)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:70)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:429)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$invoke$4(SynchronousDispatcher.java:240)
at org.jboss.resteasy.core.SynchronousDispatcher.lambda$preprocess$0(SynchronousDispatcher.java:154)
at org.jboss.resteasy.core.interception.jaxrs.PreMatchContainerRequestContext.filter(PreMatchContainerRequestContext.java:321)
at org.jboss.resteasy.core.SynchronousDispatcher.preprocess(SynchronousDispatcher.java:157)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:229)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:222)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
at org.eclipse.jetty.ee9.servlet.ServletHolder.handle(ServletHolder.java:782)
at org.eclipse.jetty.ee9.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1671)
at io.jans.as.server.audit.debug.ServletLoggingFilter.doFilter(ServletLoggingFilter.java:70)
at org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1641)
at io.jans.as.server.filter.CorrelationIdFilter.doFilter(CorrelationIdFilter.java:45)
at org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1641)
at io.jans.server.filters.AbstractCorsFilter.handleNonCORS(AbstractCorsFilter.java:357)
at io.jans.server.filters.AbstractCorsFilter.doFilter(AbstractCorsFilter.java:123)
at io.jans.as.server.filter.CorsFilter.doFilter(CorsFilter.java:116)
at org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1641)
at io.jans.as.server.filter.HeadersFilter.doFilter(HeadersFilter.java:36)
at org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1641)
at org.eclipse.jetty.ee9.websocket.servlet.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:196)
at org.eclipse.jetty.ee9.servlet.FilterHolder.doFilter(FilterHolder.java:202)
at org.eclipse.jetty.ee9.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1641)
at org.eclipse.jetty.ee9.servlet.ServletHandler.doHandle(ServletHandler.java:526)
at org.eclipse.jetty.ee9.nested.ScopedHandler.handle(ScopedHandler.java:127)
at org.eclipse.jetty.ee9.security.SecurityHandler.handle(SecurityHandler.java:603)
at org.eclipse.jetty.ee9.nested.HandlerWrapper.handle(HandlerWrapper.java:124)
at org.eclipse.jetty.ee9.nested.ScopedHandler.nextHandle(ScopedHandler.java:197)
at org.eclipse.jetty.ee9.nested.SessionHandler.doHandle(SessionHandler.java:612)
at org.eclipse.jetty.ee9.nested.ScopedHandler.nextHandle(ScopedHandler.java:195)
at org.eclipse.jetty.ee9.nested.ContextHandler.doHandle(ContextHandler.java:1051)
at org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:164)
at org.eclipse.jetty.ee9.servlet.ServletHandler.doScope(ServletHandler.java:483)
at org.eclipse.jetty.ee9.nested.ScopedHandler.nextScope(ScopedHandler.java:162)
at org.eclipse.jetty.ee9.nested.SessionHandler.doScope(SessionHandler.java:589)
at org.eclipse.jetty.ee9.nested.ContextHandler.doScope(ContextHandler.java:966)
at org.eclipse.jetty.ee9.nested.ScopedHandler.handle(ScopedHandler.java:125)
at org.eclipse.jetty.ee9.nested.ContextHandler.handle(ContextHandler.java:1727)
at org.eclipse.jetty.ee9.nested.HttpChannel$RequestDispatchable.dispatch(HttpChannel.java:1572)
at org.eclipse.jetty.ee9.nested.HttpChannel.dispatch(HttpChannel.java:730)
at org.eclipse.jetty.ee9.nested.HttpChannel.handle(HttpChannel.java:512)
at org.eclipse.jetty.ee9.nested.ContextHandler$CoreContextHandler$CoreToNestedHandler.handle(ContextHandler.java:3040)
at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1102)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181)
at org.eclipse.jetty.server.Server.handle(Server.java:182)
at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:721)
at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:416)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:323)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:981)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1212)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1166)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
at java.base/com.sun.crypto.provider.CipherCore.prepareInputBuffer(CipherCore.java:891)
at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:730)
at java.base/com.sun.crypto.provider.DESedeCipher.engineDoFinal(DESedeCipher.java:295)
at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2220)
at io.jans.util.security.StringEncrypter.decrypt(StringEncrypter.java:208)
... 112 more
```
**Desktop (please complete the following information):**
- OS: ubuntu22
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
-DB pgsql/mysql
**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]
**Additional context**
Add any other context about the problem here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.