Unsure. Have you verified the spPrivateKey and spCertificate from
ShibbolethEnabledHttpManagerImpl passed into
setSSLClientPrivateKeyAndCert(String pkFile, String certFile) are valid
file paths and have the correct key relationship? It strikes me as a
configuration issue with the WebProxy portlet.
James Wennmacher - Unicon
480.558.2420
On 04/29/2014 12:08 PM, Bastien Corbaye wrote:
> Hello,
>
> We develop an uPortal solution for our university. We shibbolized
> uPortal and now we try to call a .php from Moodle thanks to a
> WebProxyPortlet. But we have a problem with SSL
>
> java.util.concurrent.ExecutionException:
> org.jasig.portal.portlet.PortletDispatchException: The portlet window
> 'PortletWindow [portletWindowId=86_ctf3_61, delegationParentId=null,
> portletMode=view, windowState=maximized, expirationCache=null,
> renderParameters={}, publicRenderParameters={}, portletEntity=PortletEntity
> [portletEntityId=86_ctf3_61, layoutNodeId=ctf3, userId=61,
> portletDefinition=PortletDefinition [portletDefinitionId=86,
> fname=coursesMoodle, portletDescriptorKey=PortletDescriptorKey
> [frameworkPortlet=false, webAppName=/WebProxyPortlet,
> portletName=WebProxyPortlet], portletType=PortletTypeImpl [internalId=7,
> name=Web Proxy Portlet, descr=Web Proxy Portlet,
> cpdUri=/org/jasig/portal/portlets/webproxy/WebProxyPortlet.cpd.xml]]]]' threw
> an exception while executing renderMarkup.
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:202)
> at
> org.jasig.portal.portlet.rendering.worker.PortletExecutionWorker.get(PortletExecutionWorker.java:273)
> at
> org.jasig.portal.portlet.rendering.worker.PortletRenderExecutionWorker.getOutput(PortletRenderExecutionWorker.java:74)
> at
> org.jasig.portal.portlet.rendering.PortletExecutionManager.getPortletOutput(PortletExecutionManager.java:677)
> at
> org.jasig.portal.rendering.PortletRenderingIncorporationComponent$PortletIncorporatingEventReader.filterEvent(PortletRenderingIncorporationComponent.java:106)
> at
> org.jasig.portal.character.stream.FilteringCharacterEventReader.internalNext(FilteringCharacterEventReader.java:76)
> at
> org.jasig.portal.character.stream.FilteringCharacterEventReader.peek(FilteringCharacterEventReader.java:61)
> at
> org.jasig.portal.character.stream.FilteringCharacterEventReader.hasNext(FilteringCharacterEventReader.java:43)
> at
> org.jasig.portal.character.stream.CharacterEventReaderDelegate.hasNext(CharacterEventReaderDelegate.java:48)
> at
> org.jasig.portal.character.stream.FilteringCharacterEventReader.hasNext(FilteringCharacterEventReader.java:43)
> at
> org.jasig.portal.rendering.DynamicRenderingPipeline.renderState(DynamicRenderingPipeline.java:94)
> at
> org.jasig.portal.rendering.PortalController.renderRequest(PortalController.java:90)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
> at
> org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
> at
> org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
> at
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.jasig.portal.utils.web.CreatePortletCookieFilter.doFilterInternal(CreatePortletCookieFilter.java:60)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.jasig.portal.url.UrlCanonicalizingFilter.doFilterInternal(UrlCanonicalizingFilter.java:155)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:94)
> at
> org.jasig.portal.spring.security.preauth.PortalPreAuthenticatedProcessingFilter.doFilter(PortalPreAuthenticatedProcessingFilter.java:169)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at
> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> at
> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.jasig.portal.security.ThreadNamingRequestFilter.doFilterInternal(ThreadNamingRequestFilter.java:76)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:147)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.jasig.portal.web.ExceptionLoggingFilter.doFilter(ExceptionLoggingFilter.java:56)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
> at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:193)
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
> at
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.jasig.portal.portlet.PortletDispatchException: The portlet
> window 'PortletWindow [portletWindowId=86_ctf3_61, delegationParentId=null,
> portletMode=view, windowState=maximized, expirationCache=null,
> renderParameters={}, publicRenderParameters={}, portletEntity=PortletEntity
> [portletEntityId=86_ctf3_61, layoutNodeId=ctf3, userId=61,
> portletDefinition=PortletDefinition [portletDefinitionId=86,
> fname=coursesMoodle, portletDescriptorKey=PortletDescriptorKey
> [frameworkPortlet=false, webAppName=/WebProxyPortlet,
> portletName=WebProxyPortlet], portletType=PortletTypeImpl [internalId=7,
> name=Web Proxy Portlet, descr=Web Proxy Portlet,
> cpdUri=/org/jasig/portal/portlets/webproxy/WebProxyPortlet.cpd.xml]]]]' threw
> an exception while executing renderMarkup.
> at
> org.jasig.portal.portlet.rendering.PortletRendererImpl.doRender(PortletRendererImpl.java:405)
> at
> org.jasig.portal.portlet.rendering.PortletRendererImpl.doRenderMarkup(PortletRendererImpl.java:235)
> at
> org.jasig.portal.portlet.rendering.worker.PortletRenderExecutionWorker.callInternal(PortletRenderExecutionWorker.java:65)
> at
> org.jasig.portal.portlet.rendering.worker.PortletRenderExecutionWorker.callInternal(PortletRenderExecutionWorker.java:42)
> at
> org.jasig.portal.portlet.rendering.worker.PortletExecutionWorker$1.call(PortletExecutionWorker.java:137)
> at
> org.jasig.portal.portlet.rendering.worker.PortletExecutionWorker$ExecutionLifecycleCallable.call(PortletExecutionWorker.java:177)
> at
> org.jasig.portal.portlet.rendering.worker.PortletExecutionCallable.call(PortletExecutionCallable.java:119)
> at java.util.concurrent.FutureTask.run(FutureTask.java:262)
> ... 3 more
> Caused by: javax.portlet.PortletException:
> java.lang.ExceptionInInitializerError
> at
> org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:259)
> at
> org.apache.pluto.driver.container.DefaultPortletInvokerService.render(DefaultPortletInvokerService.java:117)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
> at
> org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:80)
> at
> org.jasig.portal.portlet.dao.jpa.ThreadContextClassLoaderAspect.doThreadContextClassLoaderUpdate(ThreadContextClassLoaderAspect.java:70)
> at sun.reflect.GeneratedMethodAccessor116.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
> at
> org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
> at
> org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
> at
> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
> at
> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
> at com.sun.proxy.$Proxy268.render(Unknown Source)
> at
> org.apache.pluto.container.impl.PortletContainerImpl.doRender(PortletContainerImpl.java:157)
> at
> org.jasig.portal.portlet.rendering.PortletRendererImpl.doRender(PortletRendererImpl.java:402)
> ... 10 more
> Caused by: java.lang.ExceptionInInitializerError
> at
> org.opensaml.xml.security.x509.X509Util.decodeCertificate(X509Util.java:317)
> at
> org.opensaml.xml.security.x509.X509Util.decodeCertificate(X509Util.java:299)
> at
> org.jasig.portal.security.provider.saml.SSLSecurityImpl.setSSLClientPrivateKeyAndCert(SSLSecurityImpl.java:184)
> at
> org.jasig.portal.security.provider.saml.SAMLSession.setIdPClientPrivateKeyAndCert(SAMLSession.java:154)
> at
> edu.wisc.my.webproxy.beans.http.ShibbolethEnabledHttpManagerImpl.createHttpClient(ShibbolethEnabledHttpManagerImpl.java:121)
> at
> edu.wisc.my.webproxy.beans.http.HttpManagerImpl.getHttpClient(HttpManagerImpl.java:271)
> at
> edu.wisc.my.webproxy.beans.http.HttpManagerImpl.setup(HttpManagerImpl.java:180)
> at
> edu.wisc.my.webproxy.beans.http.HttpManagerService.findManager(HttpManagerService.java:106)
> at
> edu.wisc.my.webproxy.portlet.WebProxyPortlet.renderContent(WebProxyPortlet.java:299)
> at
> edu.wisc.my.webproxy.portlet.WebProxyPortlet.doDispatch(WebProxyPortlet.java:186)
> at
> edu.wisc.my.webproxy.portlet.WebProxyPortlet.render(WebProxyPortlet.java:155)
> at
> org.jasig.portal.portlet.container.FilterChainImpl.doFilter(FilterChainImpl.java:184)
> at
> org.jasig.portal.portlet.container.FilterChainImpl.processFilter(FilterChainImpl.java:100)
> at
> org.jasig.portal.portlet.container.FilterManagerImpl.processFilter(FilterManagerImpl.java:111)
> at
> org.apache.pluto.container.driver.PortletServlet.dispatch(PortletServlet.java:340)
> at
> org.apache.pluto.container.driver.PortletServlet.doGet(PortletServlet.java:261)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
> at
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604)
> at
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543)
> at
> org.apache.pluto.driver.container.DefaultPortletInvokerService.invoke(DefaultPortletInvokerService.java:233)
> ... 33 more
> Caused by: java.lang.NullPointerException
> at org.apache.commons.ssl.TrustMaterial.<init>(TrustMaterial.java:145)
> at org.apache.commons.ssl.TrustMaterial.<init>(TrustMaterial.java:134)
> at org.apache.commons.ssl.TrustMaterial.<clinit>(TrustMaterial.java:123)
> ... 57 more
> And we don?t know why. We use the same certificate to connect
> Shibboleth-SP and IDP? But we don?t understand why do we have a
> NullPointerException while the path to point certificate (self signed)
> is good? Can you help us?
--
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/uportal-dev