我在本地机器上使用 IIS 来测试带有 SSL 连接的 FTP。我正在使用FluentFTP库连接到 FTP。我正在使用以下代码连接到服务器。
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:策略需要 SSL。;Win32 错误:访问被拒绝。错误详情:SSL 策略需要 SSL 用于控制通道。;
对于通过 FTP 连接,上面的代码可以正常工作,而对于带有 SSL 的 FTP,它不能正常工作。