Fórumok

Problema con CAS

thumbnail
Ruben Aguilera, módosítva 15 év-val korábban

Problema con CAS

Junior Member Bejegyzések: 47 Csatlakozás dátuma: 2009.02.25. Legújabb bejegyzések
Hola,

Me pasa una cosa curiosa.

Estoy integrando CAS 3.3.1 con Liferay 5.2.2 en Windows Vista Ultimate.

Siguiendo los pasos de los manuales configuro todo perfectamente. Cuando me voy a logar en el servidor, me redirecciona a la página de CAS introduzco user y contraseña y obtengo el siguiente error:


[ERROR] CASReceipt - edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator
[ERROR] CASFilter - edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator
ERROR [CASFilter:148] javax.servlet.ServletException: Unable to validate ProxyTicketValidator
javax.servlet.ServletException: Unable to validate ProxyTicketValidator


Buscando por Google encuentro que la gente achaca este error al certificado de seguridad que hay que generar, pero.... aqui viene lo curioso si ejecuto el mismo servidor desde mi entorno ext, arrancandolo con Eclipse, todo funciona perfectamente.

¿Qué diferencia hay entre arrancar el servidor desde fuera y arrancarlo desde Eclipse en cuestión de certificado de seguridad?

Para mayor curiosidad en Ubuntu 8.10 no tengo este problema, y sigo los mismo pasos.

Saludos
thumbnail
Ruben Aguilera, módosítva 15 év-val korábban

RE: Problema con CAS

Junior Member Bejegyzések: 47 Csatlakozás dátuma: 2009.02.25. Legújabb bejegyzések
Hola,

Me respondo a mi mismo por si alguien tiene el mismo problema.

La solución la he encontrado después de tres días dándome de cabezazos contra el monitor y el teclado alternativamente.

Resulta que efectivamente es un problema de certificados. Si sigues los pasos que se describen en la Wiki para generar un certificado y lo exportas al cacerts de la JVM que tengas en el JAVA_HOME del equipo, no te vale.

¿Por qué si es lo más lógico?

Porque resulta que Liferay 5.2.2 utiliza su propia JRE 1.5.0_17 (de ahí otros problemas de compilación que he tenido) y es en el cacerts de esta JRE donde tenemos que exportar el certificado para que todo funcione.

A mi me funcionaba arrancándolo desde el Eclipse, porque en el Eclipse le indico que quiero utilizar la JVM que tengo en el JAVA_HOME.

Misterio resuelto!!!

Saludos
thumbnail
Julio Camarero, módosítva 15 év-val korábban

RE: Problema con CAS

Liferay Legend Bejegyzések: 1668 Csatlakozás dátuma: 2008.07.15. Legújabb bejegyzések
Hola Rubén,

me alegro de que lo hayas resuelto! emoticon

Serías tan amable de actualizar la wiki para que refleje esto y así no le pase igual a más gente?

Un saludo!

Julio Camarero
Liferay España
thumbnail
Ruben Aguilera, módosítva 15 év-val korábban

RE: Problema con CAS

Junior Member Bejegyzések: 47 Csatlakozás dátuma: 2009.02.25. Legújabb bejegyzések
Hola,

Ya esta actualizado en la Wiki.

Ya me explicarás el porque de utilizar la propia JRE en entornos Windows ;)

Saludos
Roberto S, módosítva 11 év-val korábban

RE: Problema con CAS

Junior Member Bejegyzések: 45 Csatlakozás dátuma: 2012.03.07. Legújabb bejegyzések
Hola buenos días,
Estoy teniendo problemas al integrar CAS, cuando me autentico la pantalla se me queda en blanco y en el navegdor muestra esto:

http://localhost:8080/c/portal/login?p_l_id=10453&ticket=ST-3-OLTdFrXubNwetaGBR7fU-cas

He mirado los errores y en los logs me muestra lo siguiente:

11:16:49,211 ERROR [CommonUtils:294] java.security.cert.CertificateException: No
name matching localhost found
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No
name matching localhost found
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1
623)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:198)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:192)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Clien
tHandshaker.java:1074)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHa
ndshaker.java:128)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:5
29)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.jav
a:465)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.j
ava:884)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SS
LSocketImpl.java:1120)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketIm
pl.java:1147)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketIm
pl.java:1131)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:
434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect
(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:1049)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Http
sURLConnectionImpl.java:234)
at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUti
ls.java:281)
at org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketVali
dator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java
:33)
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.valid
ate(AbstractUrlBasedTicketValidator.java:178)
at com.liferay.portal.servlet.filters.sso.cas.CASFilter.processFilter(CA
SFilter.java:162)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.sharepoint.SharepointFilter.processFilter(Sharepoi
ntFilter.java:179)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.proc
essFilter(VirtualHostFilter.java:185)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrit
eFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.proc
essFilter(ThreadLocalFilter.java:35)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:48
9)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.security.cert.CertificateException: No name matching localhost f
ound
at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:210)
at sun.security.util.HostnameChecker.match(HostnameChecker.java:77)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkIdentity(X509T
rustManagerImpl.java:264)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(
X509TrustManagerImpl.java:250)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Clien
tHandshaker.java:1053)
... 55 more
11:16:49,227 ERROR [CASFilter:136] java.lang.RuntimeException: javax.net.ssl.SSL
HandshakeException: java.security.cert.CertificateException: No name matching lo
calhost found
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: java.security.c
ert.CertificateException: No name matching localhost found
at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUti
ls.java:295)
at org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketVali
dator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java
:33)
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.valid
ate(AbstractUrlBasedTicketValidator.java:178)
at com.liferay.portal.servlet.filters.sso.cas.CASFilter.processFilter(CA
SFilter.java:162)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.sharepoint.SharepointFilter.processFilter(Sharepoi
ntFilter.java:179)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.proc
essFilter(VirtualHostFilter.java:185)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewrit
eFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter
.java:196)
at com.liferay.portal.servlet.filters.threadlocal.ThreadLocalFilter.proc
essFilter(ThreadLocalFilter.java:35)
at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java
:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
torBase.java:470)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:48
9)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateEx
ception: No name matching localhost found
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1
623)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:198)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:192)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Clien
tHandshaker.java:1074)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHa
ndshaker.java:128)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:5
29)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.jav
a:465)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.j
ava:884)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SS
LSocketImpl.java:1120)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketIm
pl.java:1147)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketIm
pl.java:1131)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:
434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect
(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon
nection.java:1049)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Http
sURLConnectionImpl.java:234)
at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUti
ls.java:281)
... 43 more
Caused by: java.security.cert.CertificateException: No name matching localhost f
ound
at sun.security.util.HostnameChecker.matchDNS(HostnameChecker.java:210)
at sun.security.util.HostnameChecker.match(HostnameChecker.java:77)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkIdentity(X509T
rustManagerImpl.java:264)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(
X509TrustManagerImpl.java:250)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Clien
tHandshaker.java:1053)
... 55 more

Agluna idea de lo que puede estar pasando, supongo que será un problema de certificiados pero no estoy seguro!!!


Muchas gracias, Un saludo
thumbnail
Juan Gonzalez P, módosítva 11 év-val korábban

RE: Problema con CAS

Liferay Legend Bejegyzések: 3089 Csatlakozás dátuma: 2008.10.28. Legújabb bejegyzések
Tienes que tener instalados los certificados (que uses para CAS y Liferay) tanto en el servidor de CAS como el de Liferay. Dependiendo del servidor esto se hará en un sitio u o en otro.
Roberto S, módosítva 11 év-val korábban

RE: Problema con CAS

Junior Member Bejegyzések: 45 Csatlakozás dátuma: 2012.03.07. Legújabb bejegyzések
Hola buenos días,

Los tengo instalados, en principio tenía un tomcat para el CAS y otro para Liferay y cada uno con los certificados. Pero como no funcionaba pues puse el CAS-WEB dentro de la carpeta webapps del Liferay y este con el certificado que cree con el Keytool y lo importe a el archivo cacerts de la carpeta JRE1.6.0_20 de Liferay, pero como se puede ver continúa dando el error.

Muchas gracias, un saludo.