Прежде всего, включите на отладку SSL как javadoc sugests и попробуйте подключиться, затем проверьте вывод (по умолчанию он записывает в std out, вы должны перенаправить его в файл).
Сортировщик ответа
Дайте попытку аргументу -Dhttps.protocols=TLSv1.2
JVM (это должно быть передано каждому java-коду, который вы используете во время расследования, и вы должныконечно же, используйте тот же JRE).
Если не работает, проверьте сертификат сервера, который должен быть установлен в хранилище ключей JRE по умолчанию (cacerts) или в хранилище пользовательских ключей, которое вы можете использовать.
Если это не помогает, установите расширения JCE (JRE не может обработать сертификат, имеющий ключ по крайней мере 2048 бит без JCE).
Если все эти шаги бесполезны, у вас может быть та же проблемачем этот парень .
Более длинная версия
Я надеюсь, что вы используете по крайней мере Java7 (см. таблицуиз доступных протоколов на каждой платформе).
Во-первых, протоколы TLS, поддерживаемые сервером и поддерживаемые вашим приложением, должны иметь пересечение.
В этой таблице вы можете найти протоколы TLS по умолчанию дляВ разных версиях JRE это важно, поскольку ваш клиент, скорее всего, использует TLS по умолчанию для JRE.
Поэтому после того, как вы проверите свою JRE и найдете поддерживаемые версии TLS, вы должны проверить примененные шифры.
Вы должны проверить ваше соединение, используя nmap : nmap.exe --script ssl-enum-ciphers -p <port> <ftp host>
с этим инструментом, вы можете перечислить версию TLS и используемые шифры.Список шифров можно сравнить со списком, представленным этим небольшим кодом java .Эти два списка должны иметь хотя бы одну общую точку, чтобы иметь возможность общаться.
Вы можете скачать сертификат сервера, используя Portecle , этот сертификат должен быть установлен в хранилище ключей вашегоклиент JRE.
Если вы обнаружили, что они имеют пересечение в протоколах TLS и в шифрах, у вас есть правильный сертификат в вашем хранилище ключей, вы можете проверить, могут ли они взаимодействовать с SSLPoke
Если это тоже работает, проблема должна быть в FTPClient.