[
https://issues.apache.org/jira/browse/SHIRO-183?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12888871#action_12888871
]
Les Hazlewood commented on SHIRO-183:
-------------------------------------
Hi there,
It is quite possible this is not be a bug - this can happen if a remember me
cookie was created before upgrading to Shiro 1.0.0 and then the same cookie was
read during a request after the upgrade. Or it can happen if a remember me
cookie was created when
securityManager.rememberMeManager.cipherService.generateInitializationVectors =
false and then it was set to true at a later time, the read cookie would fail
to be decrypted.
Odds are very high the first scenario occurred and caused you to see these
warning messages. If so, you can completely ignore these warnings - the next
time a user logs in, the faulty cookie will be deleted and reset with a new
(correct) one.
Setting a cipherKey is recommended to ensure that no-one else can decrypt your
data (instead of using the default cipherKey which can known since Shiro's
source code is readily available). The cipherKey itself has nothing to do with
how the initialization vector is generated or read, so setting the key, while
still a good thing to do, won't make this warning go away.
If you still think this is a bug, do you have a test case to verify the issue?
It is impossible for us to track down the issue unless we can re-create it.
> Unable to correctly extract the Initialization Vector or ciphertext
> -------------------------------------------------------------------
>
> Key: SHIRO-183
> URL: https://issues.apache.org/jira/browse/SHIRO-183
> Project: Shiro
> Issue Type: Bug
> Components: Subject
> Affects Versions: 1.0.0
> Environment: GNU/Linux Debian Lenny, Java 1.6
> Reporter: RynekMedyczny.pl
>
> I obtain following exception while entering the secure page:
> [java] 101637 [http-8080-1] WARN
> org.apache.shiro.mgt.DefaultSecurityManager - Delegate RememberMeManager
> instance of type [org.apache.shiro.web.mgt.CookieRememberMeManager] threw an
> exception during getRememberedPrincipals().
> [java] org.apache.shiro.crypto.CryptoException: Unable to correctly
> extract the Initialization Vector or ciphertext.
> [java] at
> org.apache.shiro.crypto.JcaCipherService.decrypt(JcaCipherService.java:381)
> [java] at
> org.apache.shiro.mgt.AbstractRememberMeManager.decrypt(AbstractRememberMeManager.java:491)
> [java] at
> org.apache.shiro.mgt.AbstractRememberMeManager.convertBytesToPrincipals(AbstractRememberMeManager.java:431)
> [java] at
> org.apache.shiro.mgt.AbstractRememberMeManager.getRememberedPrincipals(AbstractRememberMeManager.java:398)
> [java] at
> org.apache.shiro.mgt.DefaultSecurityManager.getRememberedIdentity(DefaultSecurityManager.java:567)
> [java] at
> org.apache.shiro.mgt.DefaultSecurityManager.resolvePrincipals(DefaultSecurityManager.java:434)
> [java] at
> org.apache.shiro.mgt.DefaultSecurityManager.createSubject(DefaultSecurityManager.java:335)
> [java] at
> org.apache.shiro.subject.Subject$Builder.buildSubject(Subject.java:819)
> [java] at
> org.apache.shiro.web.subject.WebSubject$Builder.buildWebSubject(WebSubject.java:149)
> [java] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.createSubject(AbstractShiroFilter.java:202)
> [java] at
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:269)
> [java] at
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:83)
> [java] at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> [java] at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> [java] at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> [java] at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> [java] at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> [java] at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [java] at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [java] at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> [java] at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
> [java] at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> [java] at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> [java] at java.lang.Thread.run(Thread.java:619)
> [java] Caused by: java.lang.ArrayIndexOutOfBoundsException
> [java] at java.lang.System.arraycopy(Native Method)
> [java] at
> org.apache.shiro.crypto.JcaCipherService.decrypt(JcaCipherService.java:373)
> [java] ... 23 more
> Of course I have set the "securityManager.rememberMeManager.cipherKey" in
> shiro.ini but it did not help.
> kind regards.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.