How to connect to ftp server via ftps?

Write a program to connect to the ftp server via ftps using the library apache commons-net.
Code snippet:
String protocol = "TLS";
String host = "192.168.5.165";
String username = "usr";
String password = "111";
String trustStorePath = "C:/TEMP/truststore";
String trustStorePassword = "111111";
int port = 990;

FTPSClient client = new FTPSClient(protocol);

KeyStore trustStore = loadStore("JKS", new File(trustStorePath), trustStorePassword);
X509TrustManager trustManager = TrustManagerUtils.getDefaultTrustManager(trustStore);

SSLContext ctx = SSLContext.getInstance("TLSv1.1");
ctx.init(null, new TrustManager[] {trustManager}, null);

FTPSSocketFactory socketFactory = new FTPSSocketFactory(ctx);
client.setSocketFactory(socketFactory);

client.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
client.connect(host, port);


In my trustStore I have aimporter certificate ftp server(WingFtpServer).
Displays this error:
220 Wing FTP Server ready... (VIEW WING FTP SERVER)
AUTH TLS
234 AUTH command OK. Initializing TLS connection.

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

 at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)
 at sun.security.ssl.InputRecord.read(InputRecord.java:527)
 at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
 at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
 at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
 at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
 at org.apache.commons.net.ftp.FTPSClient.sslNegotiation(FTPSClient.java:269)
 at org.apache.commons.net.ftp.FTPSClient._connectAction_(FTPSClient.java:211)
 at org.apache.commons.net.SocketClient.connect(SocketClient.java:183)
 at org.apache.commons.net.SocketClient.connect(SocketClient.java:203)
 at edtesb.remsenergy.FTPSTest.test(FTPSTest.java:63)


What am I doing wrong?
I will be grateful if explain how does ftps.
June 10th 19 at 15:18
1 answer
June 10th 19 at 15:20
Solution

Find more questions by tags ApacheJavaFTP