[ 
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

Reply via email to