[ 
https://issues.apache.org/jira/browse/SHIRO-615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15881177#comment-15881177
 ] 

Rob Young commented on SHIRO-615:
---------------------------------

Attached is another possible error, if the byte is able to be parsed, but not 
compatible with the cipher suite.

{code}
2017-02-23T15:19:17.989-0500|Info: 15:19:17.988 [http-listener-1(3)] WARN  
o.a.shiro.mgt.DefaultSecurityManager - Delegate RememberMeManager instance of 
type [org.apache.shiro.web.mgt.CookieRememberMeManager] threw an exception 
during onSuccessfulLogin.  RememberMe services will not be performed for 
account [---snip---].
org.apache.shiro.crypto.CryptoException: Unable to init cipher instance.
        at 
org.apache.shiro.crypto.JcaCipherService.init(JcaCipherService.java:495) 
~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.crypto.JcaCipherService.initNewCipher(JcaCipherService.java:598)
 ~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.crypto.JcaCipherService.crypt(JcaCipherService.java:444) 
~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.crypto.JcaCipherService.encrypt(JcaCipherService.java:324) 
~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.crypto.JcaCipherService.encrypt(JcaCipherService.java:313) 
~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.mgt.AbstractRememberMeManager.encrypt(AbstractRememberMeManager.java:466)
 ~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.mgt.AbstractRememberMeManager.convertPrincipalsToBytes(AbstractRememberMeManager.java:352)
 ~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.mgt.AbstractRememberMeManager.rememberIdentity(AbstractRememberMeManager.java:336)
 ~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.mgt.AbstractRememberMeManager.rememberIdentity(AbstractRememberMeManager.java:311)
 ~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.mgt.AbstractRememberMeManager.onSuccessfulLogin(AbstractRememberMeManager.java:287)
 ~[shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.mgt.DefaultSecurityManager.rememberMeSuccessfulLogin(DefaultSecurityManager.java:206)
 [shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.mgt.DefaultSecurityManager.onSuccessfulLogin(DefaultSecurityManager.java:291)
 [shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:285)
 [shiro-core-1.3.2.jar:1.3.2]
        at 
org.apache.shiro.subject.support.DelegatingSubject.login(DelegatingSubject.java:256)
 [shiro-core-1.3.2.jar:1.3.2]
        ---snip---
Caused by: java.security.InvalidKeyException: Invalid AES key length: 15 bytes
        at 
com.sun.crypto.provider.AESCipher.engineGetKeySize(AESCipher.java:495) 
~[sunjce_provider.jar:1.8.0_71]
        at javax.crypto.Cipher.passCryptoPermCheck(Cipher.java:1067) 
~[na:1.8.0_71]
        at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1038) ~[na:1.8.0_71]
        at javax.crypto.Cipher.implInit(Cipher.java:805) ~[na:1.8.0_71]
        at javax.crypto.Cipher.chooseProvider(Cipher.java:864) ~[na:1.8.0_71]
        at javax.crypto.Cipher.init(Cipher.java:1396) ~[na:1.8.0_71]
        at javax.crypto.Cipher.init(Cipher.java:1327) ~[na:1.8.0_71]
{code}

> Refine error message for incorrectly configured rememberMe cipherKey
> --------------------------------------------------------------------
>
>                 Key: SHIRO-615
>                 URL: https://issues.apache.org/jira/browse/SHIRO-615
>             Project: Shiro
>          Issue Type: Improvement
>            Reporter: Rob Young
>            Priority: Minor
>
> Currently if the shiro configuration key 
> *securityManager.rememberMeManager.cipherKey* is set incorrectly, an error is 
> logged via a stack trace.  Unfortunately, this stack trace and associated 
> error message do not provide much context and could be refined to indicate 
> that the source of the error was the cipherKey.
> h4. Sample Error
> {code}
> ERROR o.a.shiro.web.env.EnvironmentLoader - Shiro environment initialization 
> failed
> java.lang.IllegalArgumentException: Odd number of characters.
>       at org.apache.shiro.codec.Hex.decode(Hex.java:128) 
> ~[shiro-core-1.3.2.jar:1.3.2]
>       at org.apache.shiro.codec.Hex.decode(Hex.java:107) 
> ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.toBytes(ReflectionBuilder.java:544) 
> ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:711)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.applySingleProperty(ReflectionBuilder.java:364)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.applyProperty(ReflectionBuilder.java:325)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder$AssignmentStatement.doExecute(ReflectionBuilder.java:955)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder$Statement.execute(ReflectionBuilder.java:887)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder$BeanConfigurationProcessor.execute(ReflectionBuilder.java:765)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.ReflectionBuilder.buildObjects(ReflectionBuilder.java:260)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.buildInstances(IniSecurityManagerFactory.java:167)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:130)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.createSecurityManager(IniSecurityManagerFactory.java:108)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:94)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniSecurityManagerFactory.createInstance(IniSecurityManagerFactory.java:46)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.config.IniFactorySupport.createInstance(IniFactorySupport.java:123)
>  ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.util.AbstractFactory.getInstance(AbstractFactory.java:47) 
> ~[shiro-core-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.web.env.IniWebEnvironment.createWebSecurityManager(IniWebEnvironment.java:203)
>  ~[shiro-web-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.web.env.IniWebEnvironment.configure(IniWebEnvironment.java:99)
>  ~[shiro-web-1.3.2.jar:1.3.2]
>       at 
> org.apache.shiro.web.env.IniWebEnvironment.init(IniWebEnvironment.java:92) 
> ~[shiro-web-1.3.2.jar:1.3.2]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to