Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

程序运行中出现大量 Unable to correctly extract the Initialization Vector or ciphertext.异常警告 #6860

Open
MianMianChan opened this issue Jul 9, 2024 · 1 comment

Comments

@MianMianChan
Copy link

版本号:

3.6.2

问题描述:

最近日志一直大量告警,内容如下:
pikb-service-java-1 | 2024-07-09 09:44:28.025 [http-nio-80-exec-5] WARN org.apache.shiro.mgt.AbstractRememberMeManager:449 - There was a failure while trying to retrieve remembered principals. This could be due to a configuration problem or corrupted principals. This could also be due to a recently changed encryption key, if you are using a shiro.ini file, this property would be 'securityManager.rememberMeManager.cipherKey' see: http://shiro.apache.org/web.html#Web-RememberMeServices. The remembered identity will be forgotten and not used for this request. pikb-service-java-1 | 2024-07-09 09:44:28.026 [http-nio-80-exec-5] WARN org.apache.shiro.mgt.DefaultSecurityManager:618 - Delegate RememberMeManager instance of type [org.apache.shiro.web.mgt.CookieRememberMeManager] threw an exception during getRememberedPrincipals(). pikb-service-java-1 | org.apache.shiro.crypto.CryptoException: Unable to correctly extract the Initialization Vector or ciphertext. pikb-service-java-1 | at org.apache.shiro.crypto.JcaCipherService.decrypt(JcaCipherService.java:378) pikb-service-java-1 | at org.apache.shiro.mgt.AbstractRememberMeManager.decrypt(AbstractRememberMeManager.java:482) pikb-service-java-1 | at org.apache.shiro.mgt.AbstractRememberMeManager.convertBytesToPrincipals(AbstractRememberMeManager.java:419) pikb-service-java-1 | at org.apache.shiro.mgt.AbstractRememberMeManager.getRememberedPrincipals(AbstractRememberMeManager.java:386) pikb-service-java-1 | at org.apache.shiro.mgt.DefaultSecurityManager.getRememberedIdentity(DefaultSecurityManager.java:613) pikb-service-java-1 | at org.apache.shiro.mgt.DefaultSecurityManager.resolvePrincipals(DefaultSecurityManager.java:501) pikb-service-java-1 | at org.apache.shiro.mgt.DefaultSecurityManager.createSubject(DefaultSecurityManager.java:347) pikb-service-java-1 | at org.apache.shiro.subject.Subject$Builder.buildSubject(Subject.java:845) pikb-service-java-1 | at org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubject(WebSubject.java:148) pikb-service-java-1 | at org.apache.shiro.web.servlet.AbstractShiroFilter.createSubject(AbstractShiroFilter.java:300) pikb-service-java-1 | at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:367) pikb-service-java-1 | at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:154) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) pikb-service-java-1 | at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) pikb-service-java-1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) pikb-service-java-1 | at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) pikb-service-java-1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) pikb-service-java-1 | at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:96) pikb-service-java-1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) pikb-service-java-1 | at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) pikb-service-java-1 | at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178) pikb-service-java-1 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) pikb-service-java-1 | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) pikb-service-java-1 | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) pikb-service-java-1 | at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492) pikb-service-java-1 | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) pikb-service-java-1 | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) pikb-service-java-1 | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) pikb-service-java-1 | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) pikb-service-java-1 | at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:389) pikb-service-java-1 | at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) pikb-service-java-1 | at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:926) pikb-service-java-1 | at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1791) pikb-service-java-1 | at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) pikb-service-java-1 | at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) pikb-service-java-1 | at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) pikb-service-java-1 | at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) pikb-service-java-1 | at java.lang.Thread.run(Thread.java:748) pikb-service-java-1 | Caused by: java.lang.ArrayIndexOutOfBoundsException: null pikb-service-java-1 | at java.lang.System.arraycopy(Native Method) pikb-service-java-1 | at org.apache.shiro.crypto.JcaCipherService.decrypt(JcaCipherService.java:370) pikb-service-java-1 | ... 45 common frames omitted

错误截图:

image

友情提示:

  • 未按格式要求发帖、描述过于简单的,会被直接删掉;
  • 描述问题请图文并茂,方便我们理解并快速定位问题;
  • 如果使用的不是master,请说明你使用的分支;
@zhangdaiscott
Copy link
Member

问题原因: shiro的rememberMe策略与cookie相关问题引起。

解决方案: 直接清空浏览器的cookie的缓存,建议清空所有的cookie,问题可以得到解决。极有可能是当前浏览器在其他的网站中有过rememberMe的记录导致后台的shiro会用cookie去反序列化导致。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants