Аутентификация FTPSClient на FTP-сервере с использованием цифрового сертификата или закрытого ключа - PullRequest
1 голос
/ 14 сентября 2009

У меня есть рабочий прототип Java-приложения, использующего Apache Commons Net FTPSClient для подключения к серверу FileZilla через SSL (порт 990, чего он стоит).

Нет проблем. Проблема заключается в том, что приложение в настоящее время поддерживает учетные данные пользователя FTP в виде имени пользователя и пароля.

Можно ли выполнить аутентификацию пользователя FTP (как при входе на FTP, а не только при согласовании / проверке SSL), предоставив сертификат клиента / открытый ключ?

Я знаю, что могу сделать это с SCP или SFTP, потому что сервер SSH справляется с этим просто великолепно. Если это правильное решение, пусть будет так, но я не хочу отказываться от FTPS, пока не пойму.

Итак, вопрос состоит из двух частей:

a) существуют ли реализации FTP-серверов, которые поддерживают SSL (FTPS) и аутентификацию / вход в систему клиента через сертификат?

б) Как заставить org.apache.commons.net.ftp.FTPSClient сделать это?

1 Ответ

1 голос
/ 21 сентября 2009

а) Да, множество серверов поддерживают аутентификацию клиента через сертификат. CompleteFTP в Windows - это одно, ProFTPD в Unix - это другое. Однако следует отметить, что порт 990 обычно связан с неявным режимом FTPS, что не рекомендуется.

b) Не уверен насчет FTPSClient, но это легко сделать в edtFTPj / PRO . См. эту ссылку с инструкциями.

...