javassltls1.2filezillaedtftpj

Connecting edtftpj/pro 7.3.0 to FileZilla server 1.5.1 with TLS 1.2 : No supported cipher suites have been found Error


We want to use edtftpj/PRO 7.3.0 to connect Filezilla server 1.5.1 with FTPS explicite TLS1.2 (edtftpj/PRO support TLS 1.2 max).

I get that logs in filezilla server

 FTP Session 51 127.0.0.1 [Trace] TLS handshakep: Received CLIENT HELLO
 FTP Session 51 127.0.0.1 [Trace] tls_layer_impl::failure(-87)
 FTP Session 51 127.0.0.1 [Error] GnuTLS error -87: No supported cipher suites have been found.

And that exception in java client :

DEBUG [FTPControlSocket] 9 nov. 2022 17:29:48.861 : 220-FileZilla Server 1.5.1
DEBUG [FTPControlSocket] 9 nov. 2022 17:29:48.861 : 220 Please visit https://filezilla-project.org/
DEBUG [SSLFTPControlSocket] 9 nov. 2022 17:29:48.864 : DISABLE_CONTROL_SSL_CLOSURE=false
DEBUG [SSLFTPControlSocket] 9 nov. 2022 17:29:48.864 : DISABLE_CONTROL_WAIT_ON_CLOSE=false
DEBUG [SSLFTPControlSocket] 9 nov. 2022 17:29:48.865 : ALLOW_BASIC_CONSTRAINTS_IN_NON_CA=false
DEBUG [FTPControlSocket] 9 nov. 2022 17:29:48.865 : ---> AUTH TLS
DEBUG [FTPControlSocket] 9 nov. 2022 17:29:48.869 : 234 Using authentication type TLS.
DEBUG [SSLFTPControlSocket] 9 nov. 2022 17:29:48.869 : Starting SSL handshake on control socket
INFO [cryptix] 9 nov. 2022 17:29:48.990 : GLOBAL_TRACE=false
INFO [cryptix] 9 nov. 2022 17:29:48.990 : GLOBAL_DEBUG=false
INFO [cryptix] 9 nov. 2022 17:29:48.990 : GLOBAL_DEBUG_SLOW=false
DEBUG [SSLFTPControlSocket] 9 nov. 2022 17:29:49.065 : Caught: com.enterprisedt.net.puretls.SSLHandshakeFailedException
DEBUG [SSLFTPControlSocket] 9 nov. 2022 17:29:49.065 : Caught: com.enterprisedt.net.puretls.SSLHandshakeFailedException
ERROR 09-11-2022 17:29:49   com.enterprisedt.net.puretls.SSLPrematureCloseException: Short read - org.test.FtpUtilTest.downloadFileFTP(FtpUtilTest.java:174)
com.enterprisedt.net.puretls.SSLHandshakeFailedException: com.enterprisedt.net.puretls.SSLPrematureCloseException: Short read
    at com.enterprisedt.net.puretls.j.a(SSLConn.java:164)
    at com.enterprisedt.net.puretls.SSLSocket.handshake(SSLSocket.java:261)
    at com.enterprisedt.net.ftp.ssl.SSLFTPControlSocket.c(SSLFTPControlSocket.java:322)
    at com.enterprisedt.net.ftp.ssl.SSLFTPClient.auth(SSLFTPClient.java:1569)

Client code (adding all the cipher)

ftpClient = new SSLFTPClient();
ftpClient.setRemoteHost(host);
ftpClient.setRemotePort(port);
//add all ciphers
ftpClient.disableAllCipherSuites();
ftpClient.enableCipherSuites(SSLFTPCipherSuite.getCipherSuites());

ftpClient.setValidateServer(false);
ftpClient.connect();
ftpClient.auth(SSLFTPClient.AUTH_TLS); // -> Excecption

Solution

  • This is probably happening because FileZilla Server is using an ECC certificate, which isn't yet supported by edtFTPj/PRO. Try configuring the server with an RSA certificate.