Conexión segura con LDAPConexión segura con LDAPhttps://liferay.dev/en/c/message_boards/find_thread?p_l_id=119785333&threadId=1191156342024-03-29T04:53:13Z2024-03-29T04:53:13ZRE: Conexión segura con LDAPSergio Sanchezhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1191363932020-05-11T11:18:31Z2020-05-11T11:18:31ZGracias por compartir la solución Guillermo!Sergio Sanchez2020-05-11T11:18:31ZRE: Conexión segura con LDAPGuillermo Díaz Lorenzohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1191379452020-05-11T09:40:40Z2020-05-11T09:40:40ZBuenas,Al final en base al siguiente hilo: <a href="https://liferay.dev/forums/-/message_boards/message/110998506">https://liferay.dev/forums/-/message_boards/message/110998506</a> hemos modificado el bnd y conecta con éxito.<br />Un saludo.Guillermo Díaz Lorenzo2020-05-11T09:40:40ZRE: Conexión segura con LDAPSergio Sanchezhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1191259562020-05-08T18:19:09Z2020-05-08T18:19:09Z<html><head></head><body>Hola Guillermo, curioso porque esa clase la provee la JDK de Oracle, ¿o usas una JVM diferente?<br>Si ejecutas <pre><code>java -version</code></pre> en la JVM que ejecuta Liferay, ¿cual es?</body></html>Sergio Sanchez2020-05-08T18:19:09ZRE: Conexión segura con LDAPGuillermo Díaz Lorenzohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1191199312020-05-08T06:41:58Z2020-05-08T06:41:58Z<html><head></head><body>Activado a nivel DEBUG se ve el siguiente mensaje:{java.naming.provider.url=ldaps://XXX.XX.XX.XX:636, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, com.sun.jndi.ldap.connect.timeout=500, com.sun.jndi.ldap.connect.pool=true, java.naming.security.principal=**********, java.naming.security.credentials=********, java.naming.referral=follow, com.sun.jndi.ldap.read.timeout=15000}<br>El cual va acompañado de la siguiente excepcion:<pre><code>2020-05-08 08:33:03.102 DEBUG [http-nio-8080-exec-4][DefaultPortalLDAP:161] javax.naming.CommunicationException: XXX.XX.XX.XX:636 [Root exception is java.lang.ClassNotFoundException: javax.net.ssl.SSLSocketFactory cannot be found by test_1.0.0]
javax.naming.CommunicationException: XXX.XX.XX.XX:636 [Root exception is java.lang.ClassNotFoundException: javax.net.ssl.SSLSocketFactory cannot be found by test_1.0.0]
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.Connection.<init>(Connection.java:226)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:137)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1615)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2749)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:319)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83)
&nbsp; &nbsp; &nbsp; &nbsp; at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
&nbsp; &nbsp; &nbsp; &nbsp; at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
&nbsp; &nbsp; &nbsp; &nbsp; at javax.naming.InitialContext.init(InitialContext.java:244)
&nbsp; &nbsp; &nbsp; &nbsp; at javax.naming.ldap.InitialLdapContext.<init>(InitialLdapContext.java:154)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.security.ldap.internal.DefaultPortalLDAP.getContext(DefaultPortalLDAP.java:153)
&nbsp; &nbsp; &nbsp; &nbsp; at test.action.ChangePassword.updateUserLDAP(ChangePassword.java:104)
&nbsp; &nbsp; &nbsp; &nbsp; at test.action.ChangePassword.processAction(ChangePassword.java:76)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.callActionMethod(MVCPortlet.java:380)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.portlet.LiferayPortlet.processAction(LiferayPortlet.java:94)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet.processAction(MVCPortlet.java:260)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:108)
&nbsp; &nbsp; &nbsp; &nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
&nbsp; &nbsp; &nbsp; &nbsp; at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
&nbsp; &nbsp; &nbsp; &nbsp; at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
&nbsp; &nbsp; &nbsp; &nbsp; at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:118)
&nbsp; &nbsp; &nbsp; &nbsp; at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:535)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portlet.InvokerPortletImpl.invokeAction(InvokerPortletImpl.java:581)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portlet.InvokerPortletImpl.processAction(InvokerPortletImpl.java:335)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.monitoring.internal.portlet.MonitoringInvokerPortlet.processAction(MonitoringInvokerPortlet.java:189)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portlet.PortletContainerImpl._processAction(PortletContainerImpl.java:394)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portlet.PortletContainerImpl.processAction(PortletContainerImpl.java:120)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portlet.SecurityPortletContainerWrapper.processAction(SecurityPortletContainerWrapper.java:94)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portlet.RestrictPortletContainerWrapper.processAction(RestrictPortletContainerWrapper.java:75)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.portlet.PortletContainerUtil.processAction(PortletContainerUtil.java:114)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:295)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:159)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:170)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
&nbsp; &nbsp; &nbsp; &nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:608)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:585)
&nbsp; &nbsp; &nbsp; &nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:119)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.uploadservletrequest.UploadServletRequestFilter.processFilter(UploadServletRequestFilter.java:93)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:340)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:181)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:100)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:720)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:154)
&nbsp; &nbsp; &nbsp; &nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:119)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.frontend.compatibility.ie.servlet.filter.IEMimeTypeCompatibilityFilter.processFilter(IEMimeTypeCompatibilityFilter.java:48)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.uploadservletrequest.UploadServletRequestFilter.processFilter(UploadServletRequestFilter.java:93)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:343)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:364)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.secure.BaseAuthFilter.processFilter(BaseAuthFilter.java:340)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.jsoncontenttype.JSONContentTypeFilter.processFilter(JSONContentTypeFilter.java:42)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:261)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:88)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:263)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:144)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.monitoring.internal.servlet.filter.MonitoringFilter.processFilter(MonitoringFilter.java:181)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:188)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:188)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
&nbsp; &nbsp; &nbsp; &nbsp; at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
&nbsp; &nbsp; &nbsp; &nbsp; at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
&nbsp; &nbsp; &nbsp; &nbsp; at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
&nbsp; &nbsp; &nbsp; &nbsp; at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.servlet.filters.urlrewrite.UrlRewriteFilter.processFilter(UrlRewriteFilter.java:65)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:49)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDoFilter(InvokerFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:112)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:168)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.processDirectCallFilter(InvokerFilterChain.java:188)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:96)
&nbsp; &nbsp; &nbsp; &nbsp; at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:100)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
&nbsp; &nbsp; &nbsp; &nbsp; at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
&nbsp; &nbsp; &nbsp; &nbsp; at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
&nbsp; &nbsp; &nbsp; &nbsp; at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
&nbsp; &nbsp; &nbsp; &nbsp; at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: javax.net.ssl.SSLSocketFactory cannot be found by test_1.0.0
&nbsp; &nbsp; &nbsp; &nbsp; at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:444)
&nbsp; &nbsp; &nbsp; &nbsp; at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:357)
&nbsp; &nbsp; &nbsp; &nbsp; at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:349)
&nbsp; &nbsp; &nbsp; &nbsp; at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
&nbsp; &nbsp; &nbsp; &nbsp; at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
&nbsp; &nbsp; &nbsp; &nbsp; at java.lang.Class.forName0(Native Method)
&nbsp; &nbsp; &nbsp; &nbsp; at java.lang.Class.forName(Class.java:348)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.VersionHelper12.loadClass(VersionHelper12.java:72)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.Connection.createSocket(Connection.java:281)
&nbsp; &nbsp; &nbsp; &nbsp; at com.sun.jndi.ldap.Connection.<init>(Connection.java:203)
&nbsp; &nbsp; &nbsp; &nbsp; ... 174 more
</init></init></init></init></init></code></pre></body></html>Guillermo Díaz Lorenzo2020-05-08T06:41:58ZRE: Conexión segura con LDAPSergio Sanchezhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1191145182020-05-07T11:57:14Z2020-05-07T11:57:14ZAh genial que estés depurando!<br /><br />Estaba viendo el <a href="https://github.com/liferay/liferay-portal/blob/7.0.6-ga7/modules/apps/foundation/portal-security/portal-security-ldap/src/main/java/com/liferay/portal/security/ldap/internal/DefaultPortalLDAP.java#L157">código</a> de la clase DefaultPortalLDAP.java y dos líneas más abajo mostraría una traza de DEBUG.<br />Tendrás que activar el nivel de DEBUG para esa clase a través del Pane de Control > Configuración > Administración del servidor > Niveles de trazas<br />A ver si así, con más información del error, damos con el problemaSergio Sanchez2020-05-07T11:57:14ZRE: Conexión segura con LDAPGuillermo Díaz Lorenzohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1191158042020-05-07T11:45:22Z2020-05-07T11:45:22ZBuenas Sergio,Cabe decir que el código anterior es un resumen a modo de ejemplo donde se produce el error.Y si se muestra el siguiente error: "[DefaultPortalLDAP:157] Unable to bind to the LDAP server", por lo que entiendo que no es capaz a alcanzar el servidor.<br />También comentar que he inspeccionado todos los parámetros que se le pasan al método getContext() y llegan con los valores correctos. <br />Un saludo.Guillermo Díaz Lorenzo2020-05-07T11:45:22ZRE: Conexión segura con LDAPSergio Sanchezhttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1191139972020-05-07T11:33:09Z2020-05-07T11:33:09ZHola Guillermo, ¿se muestra algún error en logs?<br /><br />Veo que no tratas la excepción en tu código. Trátala con una traza de error, por si se estuviera generando un error y no quede ignorada con el código que tienes.Sergio Sanchez2020-05-07T11:33:09ZConexión segura con LDAPGuillermo Díaz Lorenzohttps://liferay.dev/en/c/message_boards/find_message?p_l_id=119785333&messageId=1191156332020-05-07T11:20:32Z2020-05-07T11:20:32Z<html><head></head><body>Buenas a todos,<br>Estoy tratando de realizar un desarrollo a medida en Liferay 7.0 CE GA7 sobre el cual necesito interactuar con LDAP por medio de una conexión segura TLS/SSL, para ello se han instalado los certificados SSL de la manera que indica la documentación oficial (<a href="https://help.liferay.com/hc/en-us/articles/360017896112-LDAP#security">https://help.liferay.com/hc/en-us/articles/360017896112-LDAP#security</a>) y se ha configurado correctamente el protocolo y el puerto desde la configuración del propio Liferay, el cual realiza la conexión segura correctamente.<br>El problema recae, al tratar de recuperar el 'context' del LDAP por medio de código mediante los mecanismos que la api de Liferay proporciona y con los valores establecidos en la configuracion este es incapaz de conectarse al LDAP, adjunto un trozo del codigo:<br><pre><code>&nbsp; &nbsp; &nbsp; &nbsp; LDAPServerConfiguration ldapServerConfiguration = _ldapServerConfigurationProvider.getConfiguration(user.getCompanyId());
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;long ldapServerId = ldapServerConfiguration.ldapServerId();
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;LdapContext ctx = null;
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;try {
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ctx = _defaultPortalLDAP.getContext(ldapServerConfiguration.companyId(), ldapServerConfiguration.baseProviderURL(),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &