Как узнать, какие комплекты шифров поддерживаются FTP-клиентом через SSL/TLS?

Я использую FTP-сервер на основе Apache MINA/FTP, и я продолжаю получать следующее исключение при попытке подключения в режиме SSL:

javax.net.ssl.SSLHandshakeException: no cipher suites in common 

Я проверил, что наборы шифров установлены правильно на стороне клиента, например:

SSLServerSocketFactory serverSocketFactory = (SSLServerSocketFactory)
SSLServerSocketFactory.getDefault();
String[] cipherSuites = serverSocketFactory.getDefaultCipherSuites();

SslConfigurationFactory sslConfigFactory = new SslConfigurationFactory();
sslConfigFactory.setKeystoreFile(keyStoreFile);
sslConfigFactory.setKeystorePassword(keyPass);
sslConfigFactory.setEnabledCipherSuites(cipherSuites);
sslConfigFactory.setSslProtocol("SSL");
SslConfiguration sslConfig = sslConfigFactory.createSslConfiguration();
sslFactory.setSslConfiguration(sslConfig);
Listener listener = sslFactory.createListener();
serverFactory.addListener("SSL-listener", listener);

Итак, как мне убедиться, что наборы шифров, используемые на стороне клиента, совпадают с теми, которые предоставляются на стороне сервера?

Я использую FileZilla и Cyberduck для тестирования, но я не нашел в настройках этих клиентов ничего, что указывало бы, какие наборы шифров поддерживаются.


person marw    schedule 01.07.2014    source источник
comment
Настроили ли вы хранилище ключей с сертификатом сервера на своем сервере?   -  person Bruno    schedule 01.07.2014


Ответы (1)


Я счел полезным установить sysproperty javax.net.debug="ssl" во время запуска JVM, а затем просмотреть подробный отчет в стандартном выводе.

person axelrose    schedule 07.07.2015