The stack trace doesn't match up exactly with the code for some strange
reason (maybe its different CAS versions), but it looks like one of your
values for the subject dn doesn't follow the normal convention.  Can you
post your cert's subject dn?

Thanks
Scott


On Tue, Dec 29, 2009 at 9:41 PM, Richard Suematsu
<[email protected]>wrote:

> Here it is:
>
> org.springframework.web.util.NestedServletException: Request
> processing failed; nested exception is
> org.springframework.webflow.engine.ActionExecutionException: Exception
> thrown executing [annotatedact...@51ddd2 targetAction =
>
> org.jasig.cas.adaptors.x509.web.flow.x509certificatecredentialsnoninteractiveact...@ba22e1
> ,
> attributes = map[[empty]]] in state 'startAuthenticate' of flow
> 'login-webflow' -- action execution attributes were 'map[[empty]]';
> nested exception is java.lang.ArrayIndexOutOfBoundsException: 1
>
>  
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:583)
>
>  
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>  
> org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
>
>  
> org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48)
>
>  
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>
>
> root cause
>
> org.springframework.webflow.engine.ActionExecutionException: Exception
> thrown executing [annotatedact...@51ddd2 targetAction =
>
> org.jasig.cas.adaptors.x509.web.flow.x509certificatecredentialsnoninteractiveact...@ba22e1
> ,
> attributes = map[[empty]]] in state 'startAuthenticate' of flow
> 'login-webflow' -- action execution attributes were 'map[[empty]]';
> nested exception is java.lang.ArrayIndexOutOfBoundsException: 1
>
>  
> org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:64)
>
>  org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156)
>        org.springframework.webflow.engine.State.enter(State.java:191)
>
>  org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>
>  
> org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:54)
>        org.springframework.webflow.engine.State.enter(State.java:191)
>
>  org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>
>  
> org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:54)
>        org.springframework.webflow.engine.State.enter(State.java:191)
>
>  org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>
>  
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>
>  
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>
>  org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161)
>        org.springframework.webflow.engine.State.enter(State.java:191)
>        org.springframework.webflow.engine.Flow.start(Flow.java:521)
>
>  
> org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:193)
>
>  
> org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:177)
>
>  
> org.springframework.webflow.executor.FlowExecutorImpl.launch(FlowExecutorImpl.java:187)
>
>  
> org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:125)
>
>  
> org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165)
>
>  
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>
>  
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>
>  
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>
>  
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
>
>  
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>
>  
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>  
> org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
>
>  
> org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48)
>
>  
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>
>
> root cause
>
> java.lang.ArrayIndexOutOfBoundsException: 1
>
>  
> org.jasig.cas.adaptors.x509.authentication.principal.X509CertificateCredentialsToIdentifierPrincipalResolver.resolvePrincipalInternal(X509CertificateCredentialsToIdentifierPrincipalResolver.java:56)
>
>  
> org.jasig.cas.adaptors.x509.authentication.principal.AbstractX509CertificateCredentialsToPrincipalResolver.extractPrincipalId(AbstractX509CertificateCredentialsToPrincipalResolver.java:24)
>
>  
> org.jasig.cas.authentication.principal.AbstractPersonDirectoryCredentialsToPrincipalResolver.resolvePrincipal(AbstractPersonDirectoryCredentialsToPrincipalResolver.java:42)
>
>  
> org.jasig.cas.authentication.AuthenticationManagerImpl.authenticate(AuthenticationManagerImpl.java:124)
>
>  
> org.jasig.cas.CentralAuthenticationServiceImpl.createTicketGrantingTicket(CentralAuthenticationServiceImpl.java:417)
>
>  
> org.jasig.cas.web.flow.AbstractNonInteractiveCredentialsAction.doExecute(AbstractNonInteractiveCredentialsAction.java:80)
>
>  
> org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:192)
>
>  
> org.springframework.webflow.engine.AnnotatedAction.execute(AnnotatedAction.java:146)
>
>  
> org.springframework.webflow.engine.ActionExecutor.execute(ActionExecutor.java:59)
>
>  org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:156)
>        org.springframework.webflow.engine.State.enter(State.java:191)
>
>  org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>
>  
> org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:54)
>        org.springframework.webflow.engine.State.enter(State.java:191)
>
>  org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>
>  
> org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:54)
>        org.springframework.webflow.engine.State.enter(State.java:191)
>
>  org.springframework.webflow.engine.Transition.execute(Transition.java:212)
>
>  
> org.springframework.webflow.engine.TransitionableState.onEvent(TransitionableState.java:107)
>        org.springframework.webflow.engine.Flow.onEvent(Flow.java:534)
>
>  
> org.springframework.webflow.engine.impl.RequestControlContextImpl.signalEvent(RequestControlContextImpl.java:205)
>
>  org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:161)
>        org.springframework.webflow.engine.State.enter(State.java:191)
>        org.springframework.webflow.engine.Flow.start(Flow.java:521)
>
>  
> org.springframework.webflow.engine.impl.RequestControlContextImpl.start(RequestControlContextImpl.java:193)
>
>  
> org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:177)
>
>  
> org.springframework.webflow.executor.FlowExecutorImpl.launch(FlowExecutorImpl.java:187)
>
>  
> org.springframework.webflow.executor.support.FlowRequestHandler.handleFlowRequest(FlowRequestHandler.java:125)
>
>  
> org.springframework.webflow.executor.mvc.FlowController.handleRequestInternal(FlowController.java:165)
>
>  
> org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
>
>  
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
>
>  
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
>
>  
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
>
>  
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
>
>  
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>  
> org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:115)
>
>  
> org.inspektr.common.web.ClientInfoThreadLocalFilter.doFilterInternal(ClientInfoThreadLocalFilter.java:48)
>
>  
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
>
>
>
> On Tue, Dec 29, 2009 at 4:21 PM, Scott Battaglia
> <[email protected]> wrote:
> > Can you post the complete stack trace?  Without the line numbers we can't
> > really tell where the problem is.
> >
> > Cheers,
> > Scott
> >
> > On Tue, Dec 29, 2009 at 8:45 PM, Richard Suematsu <
> [email protected]>
> > wrote:
> >>
> >> I have a working CAS implementation using
> >> UsernamePasswordCredentialsToPrincipalResolver and I'm trying to switch
> it
> >> to use x509 certificates.  I followed the instructions on this page:
> >> http://www.ja-sig.org/wiki/display/CASUM/X.509+Certificates
> >> Seems like my certificate gets verified, but I get the following error:
> >> org.springframework.webflow.engine.ActionExecutionException: Exception
> >> thrown executing [annotatedact...@51ddd2 targetAction =
> >>
> org.jasig.cas.adaptors.x509.web.flow.x509certificatecredentialsnoninteractiveact...@ba22e1
> ,
> >> attributes = map[[empty]]] in state 'startAuthenticate' of flow
> >> 'login-webflow' -- action execution attributes were 'map[[empty]]';
> nested
> >> exception is java.lang.ArrayIndexOutOfBoundsException: 1
> >>
> >> Any ideas?
> >> Thanks.
> >>
> >> --
> >> You are currently subscribed to [email protected] as:
> >> [email protected]
> >>
> >>
> >> To unsubscribe, change settings or access archives, see
> >> http://www.ja-sig.org/wiki/display/JSG/cas-user
> >
> > --
> > You are currently subscribed to [email protected] as:
> > [email protected]
> > To unsubscribe, change settings or access archives, see
> > http://www.ja-sig.org/wiki/display/JSG/cas-user
>
> --
> You are currently subscribed to [email protected] as:
> [email protected]
> To unsubscribe, change settings or access archives, see
> http://www.ja-sig.org/wiki/display/JSG/cas-user
>
>

-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to