sim51 / logisima-play-cas

CAS authentification module (SSO)
http://www.bsimard.com
19 stars 8 forks source link

handshake_failure #16

Closed nmuldashev closed 10 years ago

nmuldashev commented 10 years ago

I'm trying to use CAS module in my applicatoin. I configured like in example from README. I successfully redirected to CAS login page. But after LOGIN action i'm getting

RuntimeException occured : java.util.concurrent.ExecutionException: java.net.ConnectException: Received fatal alert: handshake_failure to https://localhost:8443/cas/serviceValidate?service=http%3A%2F%2Flocalhost%3A9000%2Fauthenticate&ticket=ST-27-7MealT7CewdQcBzHm4qG-cas01.example.org

In {module:cas-3.1}/app/controllers/modules/cas/SecureCAS.java (around line 96)

92: Boolean isAuthenticated = Boolean.FALSE; 93: String ticket = params.get("ticket"); 94: if (ticket != null) { 95: Logger.debug("[SecureCAS]: Try to validate ticket " + ticket); 96: CASUser user = CASUtils.valideCasTicket(ticket); 97: if (user != null) { 98: isAuthenticated = Boolean.TRUE; 99: session.put("username", user.getUsername()); 100: // we invoke the implementation of onAuthenticate 101: Security.invoke("onAuthenticated", user);

stacktrace:

@6j5nc6099 Internal Server Error (500) for request GET /authenticate?ticket=ST-26-gLYCJQezIsinwDodBALH-cas01.example.org

Execution exception (In {module:cas-3.1}/app/controllers/modules/cas/SecureCAS.java around line 96) RuntimeException occured : java.util.concurrent.ExecutionException: java.net.ConnectException: Received fatal alert: handshake_failure to https://localhost:8443/cas/serviceValidate?service=http%3A%2F%2Flocalhost%3A9000%2Fauthenticate&ticket=ST-26-gLYCJQezIsinwDodBALH-cas01.example.org

play.exceptions.JavaExecutionException: java.util.concurrent.ExecutionException: java.net.ConnectException: Received fatal alert: handshake_failure to https://localhost:8443/cas/serviceValidate?service=http%3A%2F%2Flocalhost%3A9000%2Fauthenticate&ticket=ST-26-gLYCJQezIsinwDodBALH-cas01.example.org at play.mvc.ActionInvoker.invoke(ActionInvoker.java:237) at Invocation.HTTP Request(Play!) Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.net.ConnectException: Received fatal alert: handshake_failure to https://localhost:8443/cas/serviceValidate?service=http%3A%2F%2Flocalhost%3A9000%2Fauthenticate&ticket=ST-26-gLYCJQezIsinwDodBALH-cas01.example.org at play.libs.ws.WSAsync$WSAsyncRequest.get(WSAsync.java:223) at play.modules.cas.CASUtils.valideCasTicket(CASUtils.java:214) at controllers.modules.cas.SecureCAS.authenticate(SecureCAS.java:96) at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:557) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:508) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:479) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161) ... 1 more Caused by: java.util.concurrent.ExecutionException: java.net.ConnectException: Received fatal alert: handshake_failure to https://localhost:8443/cas/serviceValidate?service=http%3A%2F%2Flocalhost%3A9000%2Fauthenticate&ticket=ST-26-gLYCJQezIsinwDodBALH-cas01.example.org at com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:297) at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:104) at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:428) at org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:414) at org.jboss.netty.channel.DefaultChannelFuture.setFailure(DefaultChannelFuture.java:381) at org.jboss.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1307) at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1186) at org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:814) at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:422) at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:558) at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:553) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:471) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:332) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35) at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102) at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Caused by: java.net.ConnectException: Received fatal alert: handshake_failure to https://localhost:8443/cas/serviceValidate?service=http%3A%2F%2Flocalhost%3A9000%2Fauthenticate&ticket=ST-26-gLYCJQezIsinwDodBALH-cas01.example.org at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:100) ... 22 more Caused by: javax.net.ssl.SSLException: Received fatal alert: handshake_failure at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1447) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1415) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.recvAlert(SSLEngineImpl.java:1581) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readRecord(SSLEngineImpl.java:1011) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.readNetRecord(SSLEngineImpl.java:845) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.unwrap(SSLEngineImpl.java:721) at javax.net.ssl.SSLEngine.unwrap(SSLEngine.java:607) at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1118) at org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:814) at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:422) at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:84) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:471) at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:332) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35) ... 3 more 12:00:31,391 ERROR ~

sim51 commented 10 years ago

Hi,

I think the problem come from the SSL certificat. Can you test the integration with CAS without SSL ?

Have you import the SSL certificat into the JVM keystore ?

Cheers

nmuldashev commented 10 years ago

Yeah. I've import certificates. I run you example application with my current CAS server. It works! I do the same in my application and i got that error.

sim51 commented 10 years ago

I think this stackoverflow thread can help you : http://stackoverflow.com/questions/6353849/received-fatal-alert-handshake-failure-through-sslhandshakeexception

nmuldashev commented 10 years ago

I resolved my issue. The problem is that i'm starting application from Eclipse. If i start it in command line it works =D Thank you anyway