[ https://issues.apache.org/jira/browse/DIRMINA-1162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17508176#comment-17508176 ]
Grigory commented on DIRMINA-1162: ---------------------------------- [~elecharny] hi! Didn't help, same problem. > Mina 2.1.5 + SSL + Android not working > -------------------------------------- > > Key: DIRMINA-1162 > URL: https://issues.apache.org/jira/browse/DIRMINA-1162 > Project: MINA > Issue Type: Bug > Components: SSL > Affects Versions: 2.1.5 > Reporter: Grigory > Priority: Major > > I'm using the mina library in my android app to connect to a server that also > works with mina. Connection works without ssl, but after I added the ssl > filter it stopped working. When using the pure ssl socket, everything works. > This problem is only on android, but this problem does not exist when using > the library on desktop app. > I add SslFilter like this at the first point of the filter chain: > > {code:java} > SslFilter sslFilter = new SslFilter(sslContext); > sslFilter.setUseClientMode(true); > filters.addLast("sslFilter", sslFilter);{code} > > android log: > > {code:java} > 2022-02-10 16:10:25.935 I/c.u.m.m.MinaConnector: Initialized connector {max > I/O threads: 10, max task threads: 10} > 2022-02-10 16:10:25.942 D/o.a.m.f.s.SslFilter: Adding the SSL Filter > sslFilter to the chain > 2022-02-10 16:10:25.943 D/o.a.m.f.s.SslHandler: Session Client[143](no > sslEngine) Initializing the SSL Handler > 2022-02-10 16:10:25.944 D/o.a.m.f.s.SslHandler: Session Client[143](no > sslEngine) SSL Handler Initialization done. > 2022-02-10 16:10:25.945 D/o.a.m.f.s.SslFilter: Session Client[143](ssl...) : > Starting the first handshake > 2022-02-10 16:10:25.945 D/o.a.m.f.s.SslHandler: Session Client[143](ssl...) > processing the NEED_WRAP state > 2022-02-10 16:10:25.948 D/o.a.m.f.s.SslFilter: Session Client[143](ssl...): > Writing Message : WriteRequest: HeapBuffer[pos=0 lim=239 cap=261: 16 03 01 00 > EA 01 00 00 E6 03 03 EA 2E F4 1B 71 70 44 2E F5 33 A8 E8 58 3E 17 A1 04 6A 54 > FB 93 40 04 F8 A3 0C 7D 3B 5C 1B 26 17 20 21 B4 F0 3F 3A B2 DD B3 52 89 37 E8 > 34 9A 87 FC 55 3F 27 7D B4 D1 AB 73 C4 84 28 B4 CC 67 28 87 00 24 13 01 13 02 > 13 03 C0 2B C0 2F C0 2C C0 30 CC A9 CC A8 C0 09 C0 13 C0 0A C0 14 00 9C 00 9D > 00 2F 00 35 00 0A 01 00 00 79 00 17 00 00 FF 01 00 01 00 00 0A 00 08 00 06 00 > 1D 00 17 00 18 00 0B 00 02 01 00 00 05 00 05 01 00 00 00 00 00 0D 00 14 00 12 > 04 03 08 04 04 01 05 03 08 05 05 01 08 06 06 01 02 01 00 33 00 26 00 24 00 1D > 00 20 8A 7B C8 DF 0C 6E F7 ED 82 71 28 11 DF 3C D9 EC 07 2D B6 C9 E1 FC E1 1D > E9 81 AC D1 92 0A 40 4D 00 2D 00 02 01 01 00 2B 00 09 08 03 04 03 03 03 02 03 > 01...] > 2022-02-10 16:10:25.948 D/o.a.m.f.s.SslHandler: Session Client[143](ssl...) > processing the NEED_UNWRAP state > 2022-02-10 16:10:25.949 I/o.a.m.f.l.LoggingFilter: CREATED > 2022-02-10 16:10:25.949 D/MinaAdapter: sessionCreated session=[(0x0000008F: > nio socket, client, /192.168.0.170:47164 => /192.168.0.178:3336)] > 2022-02-10 16:10:25.952 I/c.u.m.m.MinaAdapter: Session 143 opened {local: > /192.168.0.170:47164, remote: /192.168.0.178:3336} > 2022-02-10 16:10:25.954 D/o.a.m.c.f.IoFilterEvent: Firing a SESSION_OPENED > event for session 143 > 2022-02-10 16:10:25.954 I/o.a.m.f.l.LoggingFilter: OPENED > 2022-02-10 16:10:25.955 D/MinaAdapter: sessionOpened session=[(0x0000008F: > nio socket, client, /192.168.0.170:47164 => /192.168.0.178:3336)] > 2022-02-10 16:10:25.956 D/o.a.m.c.f.IoFilterEvent: Event SESSION_OPENED has > been fired for session 143 > 2022-02-10 16:10:34.012 D/o.a.m.c.f.IoFilterEvent: Firing a SESSION_CLOSED > event for session 143 > 2022-02-10 16:10:34.012 I/o.a.m.f.l.LoggingFilter: CLOSED > 2022-02-10 16:10:34.014 D/MinaAdapter: sessionClosed session=[(0x0000008F: > nio socket, client, ::/:::47164 => /192.168.0.178:3336)] > 2022-02-10 16:10:34.016 I/c.u.m.m.MinaAdapter: Session 143 closed {local: > ::/:::47164, remote: null} > 2022-02-10 16:10:34.026 D/o.a.m.c.f.IoFilterEvent: Event SESSION_CLOSED has > been fired for session 143{code} > > The following error appears on the server, but when using the desktop Java > client with mina, everything works. > {code:java} > javax.net.ssl.SSLException: Improper close state: Status = OK HandshakeStatus > = NEED_WRAP > bytesConsumed = 0 bytesProduced = 7 sequenceNumber = 0 > at > org.apache.mina.filter.ssl.SslHandler.closeOutbound(SslHandler.java:497) > at > org.apache.mina.filter.ssl.SslFilter.initiateClosure(SslFilter.java:762) > at org.apache.mina.filter.ssl.SslFilter.filterClose(SslFilter.java:693) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:776) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1600(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:1155) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:146) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:776) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1600(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:1155) > at > org.apache.mina.filter.executor.ExecutorFilter.filterClose(ExecutorFilter.java:608) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:776) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1600(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:1155) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:146) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:776) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1600(DefaultIoFilterChain.java:49) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterClose(DefaultIoFilterChain.java:1155) > at > org.apache.mina.core.filterchain.IoFilterAdapter.filterClose(IoFilterAdapter.java:146) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:776) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterClose(DefaultIoFilterChain.java:769) > at > org.apache.mina.core.session.AbstractIoSession.closeNow(AbstractIoSession.java:353) > at > org.apache.mina.core.session.DefaultIoSessionDataStructureFactory$DefaultWriteRequestQueue.poll(DefaultIoSessionDataStructureFactory.java:237) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.flushNow(AbstractPollingIoProcessor.java:981) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.flush(AbstractPollingIoProcessor.java:921) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:688) > at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) > at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown > Source) > at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown > Source) > at java.base/java.lang.Thread.run(Unknown Source){code} > > Tested on different versions from 2.0.9 to 2.1.5 -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@mina.apache.org For additional commands, e-mail: dev-h...@mina.apache.org