Transferencia de archivos ftp de Android sobre TLS explícito

Estoy publicando esta pregunta después de haber intentado una y otra vez para que funcione, sin éxito. Intento implementar una transferencia de archivos FTP en Android, utilizando la biblioteca de apache commons. La comunicación debe realizarse mediante autenticación TLS explícita. Puedo iniciar sesión correctamente, conectarme al servidor y listar archivos, pero cada vez que intento obtener o almacenar un archivo, siempre obtengo una excepción de tiempo de espera, también con un valor de tiempo de espera muy grande, incluso para un archivo txt de 2Kb. Este es mi código:

 FTPSClient ftpClient = new FTPSClient("TLS", false);
    ftpClient.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out)));
KeyManagerFactory kmf = getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(null, null);
KeyManager km = kmf.getKeyManagers()[0];
ftpClient.setKeyManager(km);
ftpClient.setBufferSize(1024 * 1024);
ftpClient.setConnectTimeout(900000);
ftpClient.connect(InetAddress.getByName("server ip address"), 990);
// Set protection buffer size
ftpClient.execPBSZ(0);
// // Set data channel protection to private
ftpClient.execPROT("P");
ftpClient.login("user", "password");
ftpClient.changeWorkingDirectory("/");
ftpClient.setSoTimeout(900000);
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
ftpClient.enterLocalPassiveMode();
buffIn = new BufferedInputStream(new FileInputStream(file.getAbsolutePath()));

//this works
FTPFile[] files = ftpClient.listFiles();
final OutputStream os = new FileOutputStream(finalStoragePath + "/OK.txt");
//this returns immediatly with false result
boolean getResult=ftpClient.retrieveFile("OK.txt", os);
//this always fail for timeout
boolean result = ftpClient.storeFile( picture.getName(), buffIn );

No puedo encontrar ningún ejemplo de esta situación específica, todos los ejemplos que hay por ahí son sobre la conexión FTP normal, lo que puedo lograr sin problemas. ¿Alguno de ustedes tuvo un problema similar? Realmente necesito una solución, tengo que entregar el proyecto lo antes posible.

Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta