You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Trustin Lee <tr...@gmail.com> on 2005/03/08 10:26:22 UTC
[mina] Strange issue with SSL.
Hi,
I merged Janne's SSL filter to MINA trunk, and it seems to be OK. But
I encountered a really strange problem now. Everything works OK if I
build from scratch in Eclipse, but test fails saying 'no cipher suite
in common' if I build from scratch in command line.
Here is the log:
-------- BEGIN --------
IoThreadPool-2 /127.0.0.1:33700: OPEN
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doHandshake()
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] initialHandshakeStatus=NEED_UNWRAP
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] unwrap()
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] inNetBuffer:
java.nio.DirectByteBuffer[pos=0 lim=100 cap=16665]
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] appBuffer:
java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] Unwrap res:Status = OK
HandshakeStatus = NEED_TASK
bytesConsumed = 100 bytesProduced = 0
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTasks()
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTask:
com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask@a1aa85
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTasks(): NEED_WRAP
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] initialHandshakeStatus=NEED_TASK
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTasks()
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTasks(): NEED_WRAP
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] initialHandshakeStatus=NEED_WRAP
IoThreadPool-3 /127.0.0.1:33700: EXCEPTION
javax.net.ssl.SSLHandshakeException: Initial SSL handshake failed.
at org.apache.mina.io.filter.SSLFilter.dataRead(SSLFilter.java:173)
at org.apache.mina.util.IoHandlerFilterManager$Entry$1.dataRead(IoHandlerFilterManager.java:400)
at org.apache.mina.io.filter.IoThreadPoolFilter$Worker.processEvent(IoThreadPoolFilter.java:424)
at org.apache.mina.io.filter.IoThreadPoolFilter$Worker.processEvents(IoThreadPoolFilter.java:415)
at org.apache.mina.io.filter.IoThreadPoolFilter$Worker.run(IoThreadPoolFilter.java:351)
Caused by: javax.net.ssl.SSLHandshakeException: no cipher suites in common
at com.sun.net.ssl.internal.ssl.Handshaker.checkThrown(Handshaker.java:992)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:459)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1054)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:1026)
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:411)
at org.apache.mina.io.filter.SSLHandler.doHandshake(SSLHandler.java:347)
at org.apache.mina.io.filter.SSLHandler.dataRead(SSLHandler.java:158)
at org.apache.mina.io.filter.SSLFilter.dataRead(SSLFilter.java:164)
... 4 more
Caused by: javax.net.ssl.SSLHandshakeException: no cipher suites in common
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
at com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1352)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:176)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:164)
at com.sun.net.ssl.internal.ssl.ServerHandshaker.chooseCipherSuite(ServerHandshaker.java:639)
at com.sun.net.ssl.internal.ssl.ServerHandshaker.clientHello(ServerHandshaker.java:450)
at com.sun.net.ssl.internal.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:178)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:495)
at com.sun.net.ssl.internal.ssl.Handshaker$1.run(Handshaker.java:437)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask.run(Handshaker.java:930)
at org.apache.mina.io.filter.SSLHandler.doTasks(SSLHandler.java:463)
at org.apache.mina.io.filter.SSLHandler.unwrap(SSLHandler.java:401)
at org.apache.mina.io.filter.SSLHandler.doHandshake(SSLHandler.java:323)
... 6 more
-------- END --------
BTW, Janne's code didn't exit infinite loop when this exception is
thrown, so I fixed it.
and I saw SSLHandler.unwrap() throws an exception saying 'SSLEngine
error during data read: BUFFER_OVERLOW'. I saw this error only once
of many tests. WDYT?
Trustin
--
what we call human nature is actually human habit
--
http://gleamynode.net/
Re: [mina] Strange issue with SSL.
Posted by Trustin Lee <tr...@gmail.com>.
Janne,
On Tue, 8 Mar 2005 10:34:08 +0100, Jan Andersson <ja...@minq.se> wrote:
> Trustin,
> this is probably because the test certificate used by the examples
> (bogus.cert) isn't installed in the class path.
Wow, thanks a lot! I modified my POM for Maven to copy the
certificate file to target/classes, and now it works great!
Cheers,
Trustin
--
what we call human nature is actually human habit
--
http://gleamynode.net/
Re: [mina] Strange issue with SSL.
Posted by Jan Andersson <ja...@minq.se>.
Trustin,
this is probably because the test certificate used by the examples
(bogus.cert) isn't installed in the class path.
/Janne
On 2005-03-08, at 10:26, Trustin Lee wrote:
Hi,
I merged Janne's SSL filter to MINA trunk, and it seems to be OK. But
I encountered a really strange problem now. Everything works OK if I
build from scratch in Eclipse, but test fails saying 'no cipher suite
in common' if I build from scratch in command line.
Here is the log:
-------- BEGIN --------
IoThreadPool-2 /127.0.0.1:33700: OPEN
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doHandshake()
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3]
initialHandshakeStatus=NEED_UNWRAP
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] unwrap()
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] inNetBuffer:
java.nio.DirectByteBuffer[pos=0 lim=100 cap=16665]
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] appBuffer:
java.nio.DirectByteBuffer[pos=0 lim=16384 cap=16384]
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] Unwrap res:Status = OK
HandshakeStatus = NEED_TASK
bytesConsumed = 100 bytesProduced = 0
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTasks()
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTask:
com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask@a1aa85
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTasks(): NEED_WRAP
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3]
initialHandshakeStatus=NEED_TASK
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTasks()
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3] doTasks(): NEED_WRAP
[2005. 3. 8 오후 6:00:26] [IoThreadPool-3]
initialHandshakeStatus=NEED_WRAP
IoThreadPool-3 /127.0.0.1:33700: EXCEPTION
javax.net.ssl.SSLHandshakeException: Initial SSL handshake failed.
at
org.apache.mina.io.filter.SSLFilter.dataRead(SSLFilter.java:173)
at
org.apache.mina.util.IoHandlerFilterManager$Entry$1.dataRead(IoHandlerFi
lterManager.java:400)
at
org.apache.mina.io.filter.IoThreadPoolFilter$Worker.processEvent(IoThrea
dPoolFilter.java:424)
at
org.apache.mina.io.filter.IoThreadPoolFilter$Worker.processEvents(IoThre
adPoolFilter.java:415)
at
org.apache.mina.io.filter.IoThreadPoolFilter$Worker.run(IoThreadPoolFilt
er.java:351)
Caused by: javax.net.ssl.SSLHandshakeException: no cipher suites in
common
at
com.sun.net.ssl.internal.ssl.Handshaker.checkThrown(Handshaker.java:
992)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl
.java:459)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.
java:1054)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.wrap(SSLEngineImpl.java:
1026)
at javax.net.ssl.SSLEngine.wrap(SSLEngine.java:411)
at
org.apache.mina.io.filter.SSLHandler.doHandshake(SSLHandler.java:347)
at
org.apache.mina.io.filter.SSLHandler.dataRead(SSLHandler.java:158)
at
org.apache.mina.io.filter.SSLFilter.dataRead(SSLFilter.java:164)
... 4 more
Caused by: javax.net.ssl.SSLHandshakeException: no cipher suites in
common
at
com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:150)
at
com.sun.net.ssl.internal.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:
1352)
at
com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:176)
at
com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:164)
at
com.sun.net.ssl.internal.ssl.ServerHandshaker.chooseCipherSuite(ServerHa
ndshaker.java:639)
at
com.sun.net.ssl.internal.ssl.ServerHandshaker.clientHello(ServerHandshak
er.java:450)
at
com.sun.net.ssl.internal.ssl.ServerHandshaker.processMessage(ServerHands
haker.java:178)
at
com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:
495)
at
com.sun.net.ssl.internal.ssl.Handshaker$1.run(Handshaker.java:437)
at java.security.AccessController.doPrivileged(Native Method)
at
com.sun.net.ssl.internal.ssl.Handshaker$DelegatedTask.run(Handshaker.jav
a:930)
at
org.apache.mina.io.filter.SSLHandler.doTasks(SSLHandler.java:463)
at
org.apache.mina.io.filter.SSLHandler.unwrap(SSLHandler.java:401)
at
org.apache.mina.io.filter.SSLHandler.doHandshake(SSLHandler.java:323)
... 6 more
-------- END --------
BTW, Janne's code didn't exit infinite loop when this exception is
thrown, so I fixed it.
and I saw SSLHandler.unwrap() throws an exception saying 'SSLEngine
error during data read: BUFFER_OVERLOW'. I saw this error only once
of many tests. WDYT?
Trustin
--
what we call human nature is actually human habit
--
http://gleamynode.net/