Явный протокол TLS ColdFusion FTP

Можно ли выполнить FTP-соединение ColdFusion с использованием явного TLS?

Я искал в Google, но безрезультатно.


person Timothy Ruhle    schedule 16.05.2013    source источник
comment
Ты пробовал? Если да, и это не сработало, какую ошибку вы получили? Вы спрашиваете об использовании тега cfftp? Какую версию ColdFusion вы используете? На какой операционной системе? Нам нужна дополнительная информация, чтобы помочь вам, но я бы сказал, что первый шаг — просто попробовать и посмотреть, что произойдет. Если это не удается, отпишитесь о том, что вы пытались и как это не удалось. Вот документы по cfftp и безопасному соединению.   -  person Miguel-F    schedule 16.05.2013


Ответы (2)


В Apache Commons есть FTPSClient, и я думаю, что он уже доступен в более поздних версиях Coldfusion.

Просто добавлю пример. Он использует тестовый сервер, который я нашел доступным. Я использую CF 9.0.2, и мне не нужно загружать дополнительные файлы jar.

ftpsClient = CreateObject("java","org.apache.commons.net.ftp.FTPSClient").init(JavaCast("boolean",true));
ftpsClient.connect(JavaCast("string","ftp.secureftp-test.com"),990);
connected = ftpsClient.isConnected();

WriteOutput("Is Connected:" &  connected & '<br/>');

login = ftpsClient.login('test','test');
WriteOutput("Is Logged in:" &  login & '<br/>');


ftpsClient.logout();
ftpsClient.disconnect();
connected = ftpsClient.isConnected();

WriteOutput("Is Connected:" &  connected & '<br/>');
person abbottmw    schedule 16.05.2013
comment
Тестовый сервер, который я использую в этом коде, больше недоступен, но я настроил свой собственный локальный сервер для тестирования. - person abbottmw; 23.06.2014

Если что-то не изменилось в CF10, CFFTP поддерживает secure FTP, но не SFTP или FTPS. Возможно, вам потребуется использовать библиотеку Java, например FTP4J, как указано в этот блог< /а>.

Из документации FTP4J:

Защищенное соединение FTPS/FTPES

Библиотека ftp4j поддерживает как FTPS (FTP через неявный TLS/SSL), так и FTPES (FTP через явный TLS/SSL).

Для включения функции можно использовать метод setSecurity():

client.setSecurity(FTPClient.SECURITY_FTPS); // включает FTPS client.setSecurity(FTPClient.SECURITY_FTPES); // включает FTPES

как указал Мигель-Ф, если вы переключите комментарий к этим двум строкам, он должен включить FTPES.

//FTPClient.setSecurity(FTPClient.SECURITY_FTPES); // enables FTPES
FTPClient.setSecurity(FTPClient.SECURITY_FTPS); // enables FTPS
person Travis    schedule 16.05.2013
comment
Поскольку мы дали один и тот же ответ, даже ссылаясь на один и тот же пост в блоге, и вы опередили меня на несколько секунд, я удалил свой и проголосовал за ваш. Прикоснись к моему другу... ;) - person Miguel-F; 16.05.2013
comment
нет, продолжайте в том же духе, вы ссылаетесь на строку кода, необходимую для включения ftpes. Я тоже проголосую за тебя. - person Travis; 16.05.2013
comment
Ничего страшного, просто добавьте ссылку на свою. Спасибо. - person Miguel-F; 16.05.2013