FTP 连接问题 - 将 FluentFTP 用于端口 990 -TLS

我正在尝试使用 FluentFTP 通过 FTPS 连接与端口 990 (TLS) 下载文件。


但是代码无法建立连接并显示异常为“根据验证程序,远程证书无效”。


当我手动使用 FileZilla FTP 工具时,FTP 服务器连接正常(显示为通过 ftps over TLS 连接(隐式)


FtpClient fclient = new FtpClient(hostname, username, password); 

fclient.EncryptionMode = FtpEncryptionMode.Implicit;

fclient.SslProtocols = SslProtocols.Tls12; //Also tried with TLS1 and TLS

fclient.Port = 990;          

fclient.Connect();


慕的地8271018
浏览 1255回答 2
2回答

慕码人8056858

试试这个(取自 FluentFTP 的 ConnectFTPSCertificate.cs 示例)。重要的部分是回调OnValidateCertificate。public static async Task ConnectFTPSCertificateAsync() {    var token = new CancellationToken();    using (var conn = new FtpClient("127.0.0.1", "ftptest", "ftptest")) {        conn.EncryptionMode = FtpEncryptionMode.Explicit;        conn.ValidateCertificate += new FtpSslValidation(OnValidateCertificate);        await conn.ConnectAsync(token);    }}private static void OnValidateCertificate(FtpClient control, FtpSslValidationEventArgs e) {    if (e.PolicyErrors == System.Net.Security.SslPolicyErrors.None) {        e.Accept = true;    }    else {        // add logic to test if certificate is valid here        // lookup the "Certificate" and "Chain" properties        e.Accept = false;    }}

开满天机

我遇到了同样的问题。请注意,fluentFTP 仅支持外部接口而不是隐式我也尝试了 ftpWebRequest,但没有成功。尝试使用 winSCP。
打开App,查看更多内容
随时随地看视频慕课网APP