Haven't seen this specifically -- but try changing the password for
that user.  My guess from "Pre-authentication information was invalid
(24)" is that the AD 2k8 is looking for Kerberos salting info that
hasn't yet been generated.  Changing the password, even to the same
thing it currently is, may fix that.

Another possibility - make sure your default realm is specified
uppercase in your krb5.conf.

Also - maybe something here will help:
http://java.sun.com/j2se/1.5.0/docs/guide/security/jgss/tutorials/Troubleshooting.html

On Thu, Feb 5, 2009 at 10:10 AM, Andrew Feller <afel...@lsu.edu> wrote:
> Recently, we ran into some weird exceptions in the Tomcat log that we have
> never seen before.  We are using CAS 3.2.1 on Tomcat 6 with the
> JaasAuthenticationHandler and the Krb5LoginModule to authenticate users to
> Active Directory on a RHEL 5 box.  The only thing I know that has changed is
> that our Active Directory administrators upgraded a few domain controllers
> from AD 2003 to AD 2008.  In the log sample below, the following exception
> was logged from a user entering an invalid password.
>
> Has anyone encountered similar issues?
>
> Thanks,
> A-
>
> javax.security.auth.login.LoginException: Pre-authentication information was
> invalid (24)        at
> com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:696)
>        at
> com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:542)
>        at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)        at
> javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
>        at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>        at
> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>        at
> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>        at
> org.jasig.cas.authentication.handler.support.JaasAuthenticationHandler.authenticateUsernamePasswordInternal(JaasAuthenticationHandler.java:76)
>        at
> org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler.doAuthentication(AbstractUsernamePasswordAuthenticationHandler.java:56)
>        at
> org.jasig.cas.authentication.handler.support.AbstractPreAndPostProcessingAuthenticationHandler.authenticate(AbstractPreAndPostProcessingAuthenticationHandler.java:71)
>        at
> org.jasig.cas.authentication.AuthenticationManagerImpl.authenticate(AuthenticationManagerImpl.java:88)
>        at
> org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket(CentralAuthenticationServiceImpl.java:411)
>        at
> org.jasig.cas.web.flow.AuthenticationViaFormAction.submit(AuthenticationViaFormAction.java:107)
>        at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)        at
> org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:99)
>        at
> org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:133)
>        at
> org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:192)
>        at
> org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:146)
>        at
> org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:59)
>        at
> org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156)
>        at org.springframework.webflow.engine.State.enter(State.java:191)
>        at
> org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>        at
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>        at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>        at
> org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161)
>        at org.springframework.webflow.engine.State.enter(State.java:191)
>        at
> org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>        at
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>        at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>        at
> org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161)
>        at org.springframework.webflow.engine.State.enter(State.java:191)
>        at
> org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>        at
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>        at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>        at
> org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161)
>        at org.springframework.webflow.engine.State.enter(State.java:191)
>        at
> org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>        at
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>        at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>        at
> org.springframework.webflow.engine.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:202)
>        at
> org.springframework.webflow.executor.FlowExecutorImpl.resume(FlowExecutorImpl.java:222)
>        at
> org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:111)
>        at
> org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165)
>        at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>        at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>        at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>        at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>        at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
>        at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>        at
> org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48)
>        at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
>        at
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)
>        at
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)
>        at
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
>        at java.lang.Thread.run(Thread.java:619) Caused by: KrbException:
> Pre-authentication information was invalid (24)        at
> sun.security.krb5.KrbAsRep.<init>(KrbAsRep.java:66)        at
> sun.security.krb5.KrbAsReq.getReply(KrbAsReq.java:449)        at
> sun.security.krb5.Credentials.sendASRequest(Credentials.java:406)        at
> sun.security.krb5.Credentials.acquireTGT(Credentials.java:378)        at
> com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:662)
>        ... 72 more Caused by: KrbException: Identifier doesn't match
> expected value (906)        at
> sun.security.krb5.internal.KDCRep.init(KDCRep.java:133)        at
> sun.security.krb5.internal.ASRep.init(ASRep.java:58)        at
> sun.security.krb5.internal.ASRep.<init>(ASRep.java:53)        at
> sun.security.krb5.KrbAsRep.<init>(KrbAsRep.java:50)        ... 76 more
> javax.security.auth.login.LoginException: Pre-authentication information was
> invalid (24)        at
> com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:696)
>        at
> com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:542)
>        at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)        at
> javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
>        at
> javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
>        at
> javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at
> javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
>        at
> javax.security.auth.login.LoginContext.login(LoginContext.java:579)
>        at
> org.jasig.cas.authentication.handler.support.JaasAuthenticationHandler.authenticateUsernamePasswordInternal(JaasAuthenticationHandler.java:76)
>        at
> org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler.doAuthentication(AbstractUsernamePasswordAuthenticationHandler.java:56)
>        at
> org.jasig.cas.authentication.handler.support.AbstractPreAndPostProcessingAuthenticationHandler.authenticate(AbstractPreAndPostProcessingAuthenticationHandler.java:71)
>        at
> org.jasig.cas.authentication.AuthenticationManagerImpl.authenticate(AuthenticationManagerImpl.java:88)
>        at
> org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket(CentralAuthenticationServiceImpl.java:411)
>        at
> org.jasig.cas.web.flow.AuthenticationViaFormAction.submit(AuthenticationViaFormAction.java:107)
>        at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
>        at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)        at
> org.springframework.webflow.util.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:99)
>        at
> org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:133)
>        at
> org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:192)
>        at
> org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:146)
>        at
> org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:59)
>        at
> org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156)
>        at org.springframework.webflow.engine.State.enter(State.java:191)
>        at
> org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>        at
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>        at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>        at
> org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161)
>        at org.springframework.webflow.engine.State.enter(State.java:191)
>        at
> org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>        at
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>        at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>        at
> org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161)
>        at org.springframework.webflow.engine.State.enter(State.java:191)
>        at
> org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>        at
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        at org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>        at
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>        at
> org.springframework.webflow.engine.impl.FlowExecutionImpl.signalEvent(FlowExecutionImpl.java:202)
>        at
> org.springframework.webflow.executor.FlowExecutorImpl.resume(FlowExecutorImpl.java:222)
>        at
> org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:111)
>        at
> org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165)
>        at
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>        at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>        at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>        at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
>        at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476)
>        at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:441)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>        at
> org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48)
>        at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
>        at
> org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:852)
>        at
> org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:584)
>        at
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
>        at java.lang.Thread.run(Thread.java:619) Caused by: KrbException:
> Pre-authentication information was invalid (24)        at
> sun.security.krb5.KrbAsRep.<init>(KrbAsRep.java:66)        at
> sun.security.krb5.KrbAsReq.getReply(KrbAsReq.java:449)        at
> sun.security.krb5.Credentials.sendASRequest(Credentials.java:406)        at
> sun.security.krb5.Credentials.acquireTGT(Credentials.java:378)        at
> com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:662)
>        ... 72 more Caused by: KrbException: Identifier doesn't match
> expected value (906)        at
> sun.security.krb5.internal.KDCRep.init(KDCRep.java:133)        at
> sun.security.krb5.internal.ASRep.init(ASRep.java:58)        at
> sun.security.krb5.internal.ASRep.<init>(ASRep.java:53)        at
> sun.security.krb5.KrbAsRep.<init>(KrbAsRep.java:50)        ... 76 more
>
> --
> Andrew Feller, Analyst
> LSU University Information Services
> 200 Frey Computing Services Center
> Baton Rouge, LA 70803
> Office: 225.578.3737
> Fax: 225.578.6400
>
> --
> You are currently subscribed to cas-user@lists.jasig.org as:
> m...@forsetti.com
> To unsubscribe, change settings or access archives, see
> http://www.ja-sig.org/wiki/display/JSG/cas-user



-- 
m...@forsetti.com
Key ID:D6EEC5B5

-- 
You are currently subscribed to cas-user@lists.jasig.org as: 
arch...@mail-archive.com
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to