为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
慕的地8271018 2022-01-16 15:15:18
我正在尝试使用 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 TLSfclient.Port = 990;          fclient.Connect();
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

试试这个(取自 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;

    }

}


查看完整回答
反对 回复 2022-01-16
?
开满天机

TA贡献1786条经验 获得超13个赞

我遇到了同样的问题。请注意,fluentFTP 仅支持外部接口而不是隐式我也尝试了 ftpWebRequest,但没有成功。尝试使用 winSCP。


查看完整回答
反对 回复 2022-01-16
  • 2 回答
  • 0 关注
  • 1254 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号