Symptom
You are trying to perform operation on an FTP server such as retrieving files or putting files, and your target FTP Server is a server which requires that already opened SSL/TLS connections are reused for data exchanges instead of creating a new connection.
When in this situation, you might encounter exceptions such as:
javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:994)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
at org.apache.commons.net.ftp.FTPSClient.openDataConnection(FTPSClient.java:508)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2296)
at org.apache.commons.net.ftp.FTPClient.initiateListParsing(FTPClient.java:2269)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2046)
at org.apache.commons.net.ftp.FTPClient.listFiles(FTPClient.java:2093)
at com.indy.engine.actionCodes.FtpGetActionCodeI.executeSimpleCode(SourceFile:423)
at com.indy.engine.action.common.ActionCodeTypeI.executeCode(SourceFile:1521)
at com.indy.engine.action.common.ActionCodeTypeI.run(SourceFile:1666)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(InputRecord.java:505)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:975)
Solution
This issue has been fixed in Stambia DI Runtime S17.6.7.
Please update your Runtime to Stambia DI Runtime S17.6.7 or higher to resolve this issue.
Note that if you are using Java 1.8u161 or higher, you may have to add an additional java option in Runtime's Configuration file (engineParameters.xml) for the fix to work:
<parameters>
<...>
<javaConfiguration>
<property name="jdk.tls.useExtendedMasterSecret" value="false"/>
</javaConfiguration>
<...>
</parameters>