0

是否可以使用显式 TLS 进行 ColdFusion FTP 连接?

我在谷歌上搜索过,但无济于事。

4

2 回答 2

3

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/>');
于 2013-05-16T13:29:11.457 回答
1

除非在 CF10 中有所改变,否则CFFTP支持secure FTP但不支持SFTPFTPS. 您可能需要使用本博客FTP4J中提到的 Java 库。

FTP4J 文档

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
于 2013-05-16T13:17:00.597 回答