是否可以使用Explicit TLS进行ColdFusion FTP连接?
我在Google上搜索过但无济于事。
答案 0 :(得分:3)
Apache Commons也有一个FTPSClient类,我认为它已经在Coldfusion的更高版本中可用了。
只是添加一个例子。它使用我发现可用的测试服务器。我使用的是CF 9.0.2,无需下载任何额外的罐子。
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/>');
答案 1 :(得分:1)
除非CF10中的内容发生变化,CFFTP
支持secure FTP
,但不支持SFTP
或FTPS
。您可能需要使用FTP4J
中提到的this blog之类的Java库。
FTPS / FTPES安全连接
ftp4j库支持两种FTPS (基于隐式TLS / SSL的FTP)和FTPES(基于显式TLS / SSL的FTP)。
setSecurity()方法可用于打开功能:
client.setSecurity(FTPClient.SECURITY_FTPS); //启用FTPS 的 client.setSecurity(FTPClient.SECURITY_FTPES); //启用FTPES
正如Miguel-F所指出的,如果你在这两行上切换注释,它应该启用FTPES。
//FTPClient.setSecurity(FTPClient.SECURITY_FTPES); // enables FTPES
FTPClient.setSecurity(FTPClient.SECURITY_FTPS); // enables FTPS