使用FluentFTP连接到FTPS(FTP over SSL)

问题描述:

我在本地计算机上使用IIS来测试SSL连接的FTP。我正在使用FluentFTP库连接到FTP。我正在使用以下代码连接到服务器。使用FluentFTP连接到FTPS(FTP over SSL)

FtpClient conn = new FtpClient(); 
conn.Host = firewallSslDetails.Address; 
conn.Credentials = new NetworkCredential(firewallSslDetails.UserName, firewallSslDetails.Password); 
conn.SslProtocols = System.Security.Authentication.SslProtocols.Default; 

X509Certificate2 cert = new X509Certificate2(@"C:\Users\BizTalk360\Desktop\FtpSites\ServerCert.cer"); 
conn.EncryptionMode = FtpEncryptionMode.Implicit; 
conn.DataConnectionType = FtpDataConnectionType.AutoActive; 
conn.DataConnectionEncryption = true; 
conn.EnableThreadSafeDataConnections = false; 
conn.ClientCertificates.Add(cert); 
conn.ValidateCertificate += new FtpSslValidation(OnValidateCertificate); 

conn.Connect(); 

服务器返回给我以下错误。

FluentFTP.FtpCommandException: Policy requires SSL.; Win32 error: Access is denied.; Error details: SSL policy requires SSL for control channel.;

对于通过FTP进行连接,上述代码工作正常,对于使用SSL的FTP无法正常工作。

你似乎被连接到默认端口21(没有明确的端口指定的任何地方),你需要使用“清晰”模式:

conn.EncryptionMode = FtpEncryptionMode.Explicit; 
+0

其更改为显式服务器是引发此错误后.. _AUTH TLS命令失败._ –

+0

启用日志记录('FtpTrace.AddListener')并向我们显示日志+您是否可以使用独立FTP客户端(WinSCP或FileZilla)连接到您的服务器?向我们展示它的日志。 –

+0

我试图用FileZilla登录,以下是日志。 '状态:\t不安全的服务器,它不支持通过TLS的FTP .''响应:\t 534-策略需要SSL.''响应:\t错误详细信息:SSL策略需要SSL控制通道.''状态:\t不安全的服务器,它不支持通过TLS的FTP。 响应:\t 534-策略需要SSL。 响应:\t Win32错误:访问被拒绝。 回应:\t错误详细信息:SSL策略要求SSL用于控制通道。 响应:\t 534结束 错误:\t无法连接到服务器# –